52 lines
1.0 KiB
PHP
52 lines
1.0 KiB
PHP
<?php
|
|
declare (strict_types = 1);
|
|
|
|
namespace app\admin\model\v1;
|
|
|
|
use app\common\model\SysMenuBaseModel;
|
|
use think\model\concern\SoftDelete;
|
|
|
|
/**
|
|
* 菜单模型
|
|
* @mixin \think\Model
|
|
*/
|
|
class SysMenuModel extends SysMenuBaseModel
|
|
{
|
|
// 启用软删除
|
|
use SoftDelete;
|
|
|
|
// 软删除字段
|
|
protected $deleteTime = 'deleted_at';
|
|
|
|
// 关联菜单能力权限
|
|
public function menuAbilityPermission()
|
|
{
|
|
return $this->hasMany(SysMenuAbilityPermissionModel::class, 'menu_id', 'id');
|
|
}
|
|
|
|
// 菜单标题查询
|
|
public function searchTitleAttr($query, $value, $data)
|
|
{
|
|
if (empty($value)) {
|
|
return;
|
|
}
|
|
|
|
$query->where('title', 'like', "%$value%");
|
|
}
|
|
|
|
// 状态查询
|
|
public function scopeStatus($query, $value)
|
|
{
|
|
if (empty($value)) {
|
|
return;
|
|
}
|
|
return $query->where('status', '=', $value);
|
|
}
|
|
|
|
// 获取启用的菜单
|
|
public function scopeEnabled($query)
|
|
{
|
|
$query->where('status', '=', 1);
|
|
}
|
|
}
|