<?php

class LitbangKajianKlpd extends \Phalcon\Mvc\Model
{
    const SRC_KAJIAN = 'KAJIAN';
    const SRC_REPOSITORI = 'REPOSITORI';

    public $id;
    public $kajian_id;
    public $instansi_id;
    public $created_at;
    public $updated_at;
    public $deleted_at;
    public $src;

    /**
     * Initialize method for model.
     */
    public function initialize()
    {
        $this->setSchema("jaga");
        $this->setSource("litbang_kajian_klpd");

        $this->belongsTo('kajian_id', 'LitbangKajian', 'id');
        $this->belongsTo('instansi_id', 'Instansi', 'id');
        $this->hasMany('id', 'LitbangKajianKlpdRekomendasi', 'kajian_klpd_id');
    }

    public function toArray($columns = null)
    {
        $result = parent::toArray($columns);
        $result['instansi'] = $this->instansi;
        $result['rekomendasi_list'] = LitbangKajianKlpdRekomendasi::find([
            'conditions' => 'kajian_klpd_id=:kajian_klpd_id: AND deleted_at is null',
            'bind' => [
                'kajian_klpd_id' => $this->id
            ]
        ]);

        return $result;
    }

    public static function firstOrCreate($params)
    {
        $model = parent::findFirst($params);

        return empty($model) ? new static() : $model;
    }

    public function isNewRecord()
    {
        return (isset($this->id) && $this->id != null) ? false : true;
    }
}
