我有一个当前有效的查询,但是,它返回的数据远远多于我需要的数据。
查询
$alerts = Criteria::with('coordinate', 'alerts')
->where('user_id', '=', Auth::id())
->get();
例如,如果我只想从viewed
中选择alerts
列,可以在此查询中实现此目的。我已经使用::with
来利用Laravel的渴望加载功能。
非常感谢。
答案 0 :(得分:1)
使用闭包在查询中设置SELECT
子句:
$alerts = Criteria::with(['coordinate', 'alerts' => function($query)
{
$query->select('id', 'coordinate_id', 'viewed');
}])
->where('user_id', '=', Auth::id())
->get();
请记住包含外键,以便Eloquent可以为您正确映射它们。