44 lines
1.1 KiB
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');
|
|
}
|
|
}
|