2013-03-24 84 views

回答

0

我會使用PushMessage類來查詢它們。

$user = User::find(Auth::user()->id); 
$pushMessages = PushMessage::whereIn('application_id', $user->applications()->lists('id')); 
+0

有沒有辦法使用ORM的集合來查詢它?這似乎基本上是寫手動SQL ... – 2013-03-24 19:45:18

+0

此外,你發出兩個查詢,這可以根據我的例子完成一個。 – 2013-03-24 21:07:01

0
PushMessage::leftJoin(Application::getTable(), Application::getTable().'.id', '=', PushMessage::getTable().'.application_id')->leftJoin(...)->where(Application::getTable().'.user_id','=',1)->select(PushMessage::getTable().'.*')->get(); 

口才真的只是卸載方法調用流暢查詢生成器。雖然,我會建議在一個方法中包裝這個特定的查詢,或者把它放在一個倉庫中

+0

再次,這似乎是一個黑客。如果你看看我的示例查詢,我正在使用急切的加載來加載關係...我很難相信沒有辦法訪問這些數據... – 2013-03-24 21:06:15

+1

這不是黑客。雄辯確實只是嘗試成爲sql和Objects之間的一個薄層。我寫的查詢並不完整,因爲我不想寫下所有的連接。更新:我看看你的QueryCode.php,我認爲它的「StudlyCaps」,這阻止你的關係被急切加載。 – kapv89 2013-03-24 21:14:06