laravel eloquent orm - 在急切加载查询中限制列?

时间:2017-03-03 17:52:25

标签: laravel-5 eloquent

我正在尝试对具有一对多到另一个表的表进行急切的加载查询。

所以最初,我这样做:

{{1}}

这样可行,但问题是关系远端的表有很多列,这真的使结果膨胀。如果我只需要几列,有没有办法可以限制/指定在关系远端检索的表列?

2 个答案:

答案 0 :(得分:1)

你总是可以对你的人际关系施加约束。

$node = $this->MapNodes()->where('type_id', $typeId )
                         ->with( ['NodeCounters' => function($query){
                                 $query->get(['column-1', 'column-2']);
                         }])
                         ->first();

查看官方Docs

答案 1 :(得分:0)

你可以简化它

$node = $this->MapNodes()->where('type_id', $typeId )
->with('NodeCounters:id,column-1,column-2')->first();

来自此文档:Eager Loading Specific Columns