2014-04-01 27 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