相关疑难解决方法(0)

Laravel排序关系

如何使用相关表对结果进行排序?

我有这个表:ClientsManagers(用户表)

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)

php mysql laravel laravel-4

6
推荐指数
1
解决办法
5276
查看次数

标签 统计

laravel ×1

laravel-4 ×1

mysql ×1

php ×1