2016-04-25 66 views
4

我正在嘗試編寫一個函數,該函數將獲得分配給auth'd user和/或沒有用戶分配的存儲桶的所有「存儲桶」。雄辯 - 哪裏有數據透視用戶或哪裏沒有

關係和這樣的工作,他們應該。除非我錯過了什麼?

我怎樣才能得到所有的桶用戶分配 - 也包括沒有用戶(包括auth用戶)分配的桶。

  1. 剷鬥用戶被分配給其中NO用戶已被分配
  2. 剷鬥。即透視表包含不鬥行等

我的問題很可能從orWhere查詢梗...

$buckets = Team::currentTeam()->buckets()->with('user')->whereHas('user', function($query) { 
    $query->where('user_id', Auth::user()->id) 
    ->orWhere('user_id', function() { 
     $query->count(); 
    }, '<', 0); 
})->get(); 
+0

你在使用$ query-> count()做什麼? – oseintow

+0

大聲笑使用它錯了。我的「計劃」是嘗試計算分配給存儲桶的用戶數量。如果沒有用戶(又名0),那麼也包含在對象中。 –

回答

4

沒有測試這一點,但我認爲這應該工作。您正在尋找刪除該orWhere查詢並添加orHas('user', '=', 0)

$buckets = Team::currentTeam()->buckets()->with('user')->whereHas('user', function($query) { 
    $query->where('user_id', Auth::user()->id); 
})->orHas('user', '=', 0)->get(); 
+0

cha-ching!謝謝......我正在尋找的東西。 :) –