<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Divisi extends Model
{
    protected $table = 'm_divisi';

    const CREATED_AT = 'created_at';
    const UPDATED_AT = 'updated_at';

    protected $fillable = [
        'name',
		'parent',
        'description',
        'created_at',
        'created_by',
        'updated_at',
        'updated_by'
    ];

	public static function boot() {
		parent::boot();

		static::deleting(function($data)  {
			$data->children()->delete();
		});
	}

	public function parent()
	{
		return $this->belongsTo('App\Models\Divisi','parent')->where('parent', null)->with('parent');
	}

	public function children()
	{
		return $this->hasMany('App\Models\Divisi','parent')->with('children');
	}
}