Laravel 5 laravel雄辩的orm-在急切加载查询中限制列?
我正在尝试对一个表执行一对多到另一个表的急切加载查询 最初,我是这样做的:Laravel 5 laravel雄辩的orm-在急切加载查询中限制列?,laravel-5,eloquent,Laravel 5,Eloquent,我正在尝试对一个表执行一对多到另一个表的急切加载查询 最初,我是这样做的: $node = $this->MapNodes()->where('type_id', $typeId )->with('NodeCounters')->first(); 这是可行的,但问题是关系远侧的表有很多列,这会使结果膨胀。如果我只需要几列,是否有办法限制/指定在关系远端检索的表列?您可以始终对关系进行约束 $node = $this->MapNodes()->wher
$node = $this->MapNodes()->where('type_id', $typeId )->with('NodeCounters')->first();
这是可行的,但问题是关系远侧的表有很多列,这会使结果膨胀。如果我只需要几列,是否有办法限制/指定在关系远端检索的表列?您可以始终对关系进行约束
$node = $this->MapNodes()->where('type_id', $typeId )
->with( ['NodeCounters' => function($query){
$query->get(['column-1', 'column-2']);
}])
->first();
检查官方。我猜MapNodes是您的属性方法,在这种情况下,您可以将select子句链接到它,并指定要返回的列的名称啊!您可以在with函数中使用get with columns,就像使用where一样,就像文档显示的那样。美好的谢谢