<?php

use Jaga\Models\BaseModel;
use Jaga\Traits\JagaTimestamp;
use Jaga\Traits\SoftDelete;

/**
 * Class PancekJenisInstansi
 * @property PancekInstansi[] $instansis
 */
class PancekJenisInstansi extends BaseModel
{
    use JagaTimestamp, SoftDelete;

    public $id;
    public $nama;
    public $formulir_type;
    public $created_at;
    public $updated_at;
    public $deleted_at;

    public static $throwableModelName = 'Jenis Instansi PanCek';

    public const TIPE_FORMULIR = [1,2,3];

    public function initialize()
    {
        $this->setSchema("jaga");
        $this->setSource("pancek_jenis_instansi");
        $this->hasMany(
            'id',
            PancekInstansi::class,
            'jenis_instansi_id',
            [
                'reusable' => true, // cache related data
                'alias'    => 'instansis',
                'params'   => [
                    'conditions' => 'deleted_at IS NULL'
                ],
            ]
        );
    }

    public function toArray($columns = null)
    {
        return parent::toArray($columns);
    }

    public function getDetail($columns = null)
    {
        $result = $this->toArray($columns);

        $result['instansis'] = $this->instansis->toArray(['id','nama']);

        return $result;
    }
}
