<?php

class BpjsProvinsi extends \Phalcon\Mvc\Model
{

    /**
     *
     * @var integer
     */
    public $id;

    /**
     *
     * @var string
     */
    public $kodepropinsi;

    /**
     *
     * @var string
     */
    public $namapropinsi;

    /**
     *
     * @var string
     */
    public $kodepropinsikemendagri;

    /**
     *
     * @var string
     */
    public $created_at;

    /**
     *
     * @var string
     */
    public $updated_at;

    /**
     *
     * @var string
     */
    public $deleted_at;

    /**
     * Initialize method for model.
     */
    public function initialize()
    {
        $this->setSchema("jaga");
        $this->setSource("bpjs_provinsi");
        $this->hasMany('kodepropinsi', 'BpjsKotaKabupaten', 'kodepropinsi', ['alias' => 'BpjsKotaKabupaten']);
    }

    public function beforeCreate()
    {
        $this->created_at = date("Y-m-d H:i:s");
        $this->updated_at = date("Y-m-d H:i:s");
    }

    public function beforeUpdate()
    {
        $this->updated_at = date("Y-m-d H:i:s");
    }

    /**
     * Returns table name mapped in the model.
     *
     * @return string
     */
    public function getSource()
    {
        return 'bpjs_provinsi';
    }

    /**
     * Allows to query a set of records that match the specified conditions
     *
     * @param mixed $parameters
     * @return BpjsProvinsi[]|BpjsProvinsi|\Phalcon\Mvc\Model\ResultSetInterface
     */
    public static function find($parameters = null)
    {
        return parent::find($parameters);
    }

    /**
     * Allows to query the first record that match the specified conditions
     *
     * @param mixed $parameters
     * @return BpjsProvinsi|\Phalcon\Mvc\Model\ResultInterface
     */
    public static function findFirst($parameters = null)
    {
        return parent::findFirst($parameters);
    }

    public static function saveMultiple($data) {
        foreach ($data as $item) {
            $bpjsProvinsi = BpjsProvinsi::findFirst([
                'conditions' => 'kodepropinsi = ?0 AND kodepropinsikemendagri = ?1',
                'bind' => [
                    $item['kodepropinsi'],
                    $item['kodepropinsikemendagri'],
                ]
            ]);
            if (empty($bpjsProvinsi)) {
                $bpjsProvinsi = new BpjsProvinsi();
            }
            $bpjsProvinsi->kodepropinsi = $item['kodepropinsi'];
            $bpjsProvinsi->namapropinsi = $item['namapropinsi'];
            $bpjsProvinsi->kodepropinsikemendagri = $item['kodepropinsikemendagri'];
            $bpjsProvinsi->save();
        }
    }

}
