[英]Laravel Eloquent OrderBy with a belongsTo on model Laravel
无论如何,在 Laravel 中动态 OrderBy 是一个所属的对象吗? 或者这只能在 join 上工作? 我想尽可能保持干净,这就是我使用belongsTo的原因。
这是我的查询,我遇到的问题是我不知道如何查询关系表。
$users = User::where('company_id', Auth::user()->company_id)
->search(trim($this->search))
->orderBy($this->column,$this->order)
->paginate($this->size);
我的 $columns 变量
$columns = collect(['username'=>'Username',
'email'=>'Email'
]);
我想将companies
表中的name
、 code
和id
添加到$columns
变量中的选项中。
当我尝试按company.name
订购时,这给了我一个column not found
的错误
这就是我在前端显示它的方式,因为我在belongsTo
中有belongsTo
<td>{{$user->company->id}}</td>
<td>{{$user->company->name}}</td>
<td>{{$user->company->code}}</td>
<td>{{$user->username}}</td>
<td>{{$user->email}}</td>
我想你可以使用连接,也许试试
$users = User::where('company_id', Auth::user()->company_id)
->leftJoin('company', 'company.id', '=', 'users.company_id')
->search(trim($this->search))
->orderBy($this->column,$this->order)
->paginate($this->size);
现在您在查询中有 company.name 来订购。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.