2014-04-01 58 views
1

嗨返回單獨的結果對於每個關係我有很多與以下結構一對多的關係:在多對多

services 
apps 
service_app 

我想有一個雄辯的查詢返回一個單獨的結果對於每個關係(基本上是數據透視表)。我有以下幾點:

$all = App::with('services')->get(); 

這會返回一個應用程序與嵌套的服務,我想有這個從數據透視表數據一起返回一個單獨的結果爲每個應用服務組合。這是如何使用雄辯的可能性?

+0

不應該是'$ all = App :: all()',當你迭代它時,你會爲每次迭代調用'services'? – user2094178

回答

0

這是一個有點怪,但如果你不認爲數據透視表的數據透視表的它很容易做到,但作爲一個AppService

那麼,你所能做的就是爲它創建一個模型,可能命名爲AppService。在該模型中,您將擁有2個belongsTo()關係。一個用於App,另一個用於Service

然後你就可以直接查詢您的數據透視表,並利用這些關係來獲得你所需要的。

$appServices = AppService::all(); 
foreach($appServices as $appService) { 
    echo $appService->app->description; 
    echo $appService->service->description; 
} 
+0

我只是試過這個,我可以從數據透視表返回數據,但關係似乎並沒有使用belongsTo – arrowill12

+0

nevermid,我需要添加外鍵 – arrowill12