她是我的資料庫結構

我想得到兩件事。
分配給用戶的部門
未分配給用戶的部門我通過 AllocatedDepartment 模型中的 hasMany() 關系實作了第一個
public function departments(){ return $this->hasMany(Department::class, 'id', 'department_id'); }
我不明白如何獲取未分配給用戶的部門。
編輯:我想你沒有得到我的問題。假設我有用戶A ,部門XYZ X分配給A
現在我想獲取分配給A Output = X的部門串列
并獲取分配給A 輸出 = YZ的部門串列
uj5u.com熱心網友回復:
我認為您正在尋找多對多關系和查詢關系缺失。
用戶模型
public function departments()
{
return $this->belongsToMany(Department::class, 'allocated_departments', 'user_id', 'department_id');
}
部門型號
public function users()
{
return $this->belongsToMany(User::class, 'allocated_departments', 'department_id', 'user_id');
}
現在,
$departments = Department::doesntHave('users')->get();
// or
$users = User::doesntHave('departments')->get();
uj5u.com熱心網友回復:
我已經這樣做了,它奏效了......
$departments = Department::whereDoesntHave('users', function (Builder $query) use ($user){
$query->where('user_id', '=', $user->id);
})->get();
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/516737.html
標籤:拉拉维尔数据库雄辩
上一篇:如何使用具有多個查詢選項的Powershell查詢Azure資源?
下一篇:產品視頻未在前端播放
