我有自定义代码,必须在其中从关系数据中获取特定列:
$jobs = Job::with('user:id, name')
->where('type', 0)
->where('status', 1)
->orderBy('updated_at', 'DESC')
->get();
当我运行这段代码时Laravel向我返回错误消息:
SQLSTATE [42S22]:找不到列:1054中的未知列'name' “字段列表”
如何解决此错误?
答案 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();