whereIn('id', $value); } else { $query->where('id', $value); } } /** * 角色名称-搜索器 * * @param $query * @param $value */ public function scopeName($query, $value) { if (!empty($value)) { $query->where('name', 'like', $value . '%'); } } /** * 状态-搜索器 * * @param $query * @param $value */ public function scopeStatus($query, $value) { if ($value !== '') { $query->where('status', $value); } } /** * 通过中间表获取菜单 */ public function menus(): \Illuminate\Database\Eloquent\Relations\BelongsToMany { return $this->belongsToMany(Menu::class, RoleMenu::class, 'role_id', 'menu_id')->orderBy('sort'); } /** * 通过中间表获取部门 */ public function depts(): \Illuminate\Database\Eloquent\Relations\BelongsToMany { return $this->belongsToMany(Dept::class, RoleDept::class, 'role_id', 'dept_id'); } /** * 通过中间表获取部门 */ public function scopes(): \Illuminate\Database\Eloquent\Relations\BelongsToMany { return $this->belongsToMany(Dept::class, RoleScopeDept::class, 'role_id', 'dept_id'); } }