Laravel 预加载特定列错误

Laravel eager loading specific columns error

我有自定义代码,我必须从关系数据中获取特定列:

$jobs = Job::with('user:id, name')
           ->where('type', 0)
           ->where('status', 1)
           ->orderBy('updated_at', 'DESC')
           ->get();

当我运行这段代码Laravelreturn我的错误信息:

SQLSTATE[42S22]: Column not found: 1054 Unknown column ' name' in 'field list'

如何解决这个错误?

这段代码中有spacewith('user:id, name')。问题是 space。
试试这个

$jobs = Job::with('user:id,name')
    ->where('type', 0)
    ->where('status', 1)
    ->orderBy('updated_at', 'DESC')
    ->get();

可以通过在 with() 中传递一个闭包函数作为数组的第二个索引来完成,例如

$jobs = Job::with(['user' =>  function($q){
                $q->select('id','name');
            }])->where('type', 0)
               ->where('status', 1)
               ->orderBy('updated_at', 'DESC')
               ->get();