Laravel渴望加载特定的列错误

时间:2019-09-12 05:53:34

标签: laravel eloquent relationship laravel-6

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

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

当我运行这段代码时Laravel向我返回错误消息:

  

SQLSTATE [42S22]:找不到列:1054中的未知列'name'   “字段列表”

如何解决此错误?

2 个答案:

答案 0 :(得分:3)

此代码中的空格为with('user:id, name')。问题是空间。
试试这个

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

答案 1 :(得分:3)

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

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