小编hod*_*ale的帖子

方法调用之间的区别$ model-> relation(); 和$ model-> relation;

这里有一些我缺少的基本理解/理论.我不明白这些函数调用之间的区别:

$distributors = $store->distributors();
$distributors = $store->distributors;
$distributors = $store->distributors()->get();
$distributors = $store->distributors->get();
Run Code Online (Sandbox Code Playgroud)

我在这里要完成的是获得一个商店经销商列表(多对多的关系),他们将每个经销商的啤酒列表列入一个巨大的列表.

foreach ($distributors as $distributor) 
{
    $available_beers = array_merge($distributor->beers(), $available_beers);
}
Run Code Online (Sandbox Code Playgroud)

我不知道这是否是最好的方法,我无法让它工作.与第一个方法列表类似,我不知道我是否需要->$beers->$beers()

更新

感谢所有回答的人!这对我来说将是一个很好的参考.我最大的教训是获取集合与获取查询构建器/关系对象之间的区别.为了将来参考那些发现这个问题的人,这是我在我的控制器中设置的内容:

$store = $this->store->find($id)->first();
$distributors = $store->distributors;
$beers = [];
foreach ($distributors as $distributor){
    $beers = array_merge($distributor->beers->lists('name', 'id'), $beers);
}
Run Code Online (Sandbox Code Playgroud)

php arrays methods laravel

25
推荐指数
3
解决办法
5337
查看次数

标签 统计

arrays ×1

laravel ×1

methods ×1

php ×1