Laravel 中预加载指定查询字段

直接上代码

$result = User::with('topics:user_id,body,title')
    ->where('name', 'Summer')
    ->get()
    ->toArray();


如果要进行约束预加载,应该这样写。

$result = User::with(['topics' => function ($query) {
    $query->select('id', 'user_id', 'body', 'title')
        ->orderBy('updated_at', 'desc');
    }])
    ->where('name', 'Summer')
    ->get()
    ->toArray();

在使用预加载时,表的关联字段一定要查询,否则查询后的数据没法匹配

 

posted @ 2018-04-25 11:56  花泪哲  阅读(1666)  评论(0)    收藏  举报