Laravel 5.4使用with()在现有选定列中添加特定列

时间:2017-02-14 17:29:01

标签: php laravel

我在使用lalavel 5.4中的eloquent显示我的数据库结果时出现问题。我只想指定一个我想要在结果中的列。所以在我的情况下,记录是与另一个表的关系,我也想指定一个我需要的列。请检查我的口才:

return User::with(['images' => function($q){
        $q->select('user_id as userId','image_name','url');
    }])
    ->orderBy('id', 'asc')
    ->select(['id as userId','name','email'])
    ->paginate(10);

这是我模型中的hasMany()关系:

public function images(){
    return $this->hasMany('Images', 'user_id', 'id');
}

此代码的问题是图像始终为空。 任何的想法?提前谢谢。

1 个答案:

答案 0 :(得分:1)

尝试一下:

return User::with(['images' => function($q){
        $q->select('id', 'image_name','url');
}])
->orderBy('id', 'asc')
->select(['id','name','email'])
->paginate(10);

您需要为其选择关系键才能找到结果。