<?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',
		'color',
		'created_at',
		'created_by',
		'updated_at',
		'updated_by',
		'company_id'
	];

	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');
	}
}