如何使用相关表对结果进行排序?
我有这个表:Clients和Managers(用户表)
Client.php
<?php
class Client extends Eloquent {
protected $table = 'clients';
public function Manager(){
return $this->belongsTo('User','manager','id');
}
public function Transaction(){
return $this->hasMany('ClientTransaction','client','id');
}
}
Run Code Online (Sandbox Code Playgroud)
Users.php是默认的Laravel模型.
我的问题是如何查询表客户端按Manager的名称排序.
到目前为止,这是我的代码:
public function getClients() {
// Sorting preparations
$allowed = array('name','contact','money');
$sort = in_array(Input::get('sort'), $allowed) ? Input::get('sort') : 'name';
$order = Input::get('order') === 'desc' ? 'desc' : 'asc';
// Get Clients from DB
if($sort == 'contact'){
$clients = Client::with(array('Manager' => function($query) use ($order) {
$query->orderBy('name', $order);
}));
} …Run Code Online (Sandbox Code Playgroud)