You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
734 B
44 lines
734 B
<?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'); |
|
} |
|
}
|
|
|