Menu.php 1.29 KB
Newer Older
1 2 3 4 5
<?php

namespace App\Models\Webprofile;

use App\Http\Traits\UuidTrait;
6
use App\Models\Webprofile\De\Menu as DeMenu;
7
use App\Models\Webprofile\En\Menu as EnMenu;
8
use App\Models\Webprofile\Sa\Menu as SaMenu;
9
use App\Models\Webprofile\Zh\Menu as ZhMenu;
10 11 12 13 14 15 16 17 18
use Illuminate\Database\Eloquent\Model;

class Menu extends Model
{
    use UuidTrait;

    public $incrementing = false;
    protected $table = 'swp_menus';

19 20 21
    protected $fillable = [
        'id', 'name', 'url', 'mode', 'status', 'parent', 'urutan', 'parentlevel', 'level', 'userid_created', 'userid_updated',
    ];
Aan Choesni Herlingga committed
22 23 24 25 26 27 28 29

    public static $rules = [
        // 'name' => 'required',
    ];

    public static $errormessage = [
        'required' => 'Form Input Ini Tidak Boleh Kosong / Harus Diisi',
    ];
30 31 32 33 34

    public function rEn()
    {
        return $this->hasOne(EnMenu::class, 'menu_id', 'id');
    }
35

36 37 38 39 40
    public function rDe()
    {
        return $this->hasOne(DeMenu::class, 'menu_id', 'id');
    }

41 42 43 44 45
    public function rSa()
    {
        return $this->hasOne(SaMenu::class, 'menu_id', 'id');
    }

46 47 48 49 50
    public function rZh()
    {
        return $this->hasOne(ZhMenu::class, 'menu_id', 'id');
    }

51 52 53 54
    public function rChild()
    {
        return $this->hasMany(Menu::class, 'parent', 'id')->orderBy('urutan', 'asc')->with(['rChild', 'rEn']);
    }
55
}