sigd/app/Models/ReferenceWs.php

44 lines
1.1 KiB
PHP

<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
class ReferenceWs extends SigdModel
{
protected $table = 'ws_list';
protected $primaryKey = 'id';
protected $fillable = [
'id', 'sector', 'code', 'ws_code', 'ws_title', 'ws_header', 'parent_ws_code', 'model',
'row_num', 'row_status', 'created_by', 'updated_by',
];
public function scopeIsMain($query)
{
return $query->whereNull('parent_ws_code');
}
public function scopeIsSub($query)
{
$wsCode = ['3A2', '3C1', '4A1', '4D1'];
return $query->whereNotNull('parent_ws_code')->whereNotIn('ws_code', $wsCode);
}
public function parent(): BelongsTo
{
return $this->belongsTo(ReferenceWs::class, 'parent_ws_code', 'ws_code');
}
public function children(): HasMany
{
return $this->hasMany(ReferenceWs::class, 'parent_ws_code', 'ws_code');
}
public function form()
{
return $this->belongsTo(SettingForm::class, 'code', 'code');
}
}