2017-04-16 15 views
0

これは私のシンプルな構造です:Laravel 5.4順序

public class Post{ 
    public function user(){ 
    return $this->belongsTo(User::class); 
    } 
} 

これは私が(クエリがページネーションを持っている)照会方法です:

$query = Post::query(); 
$query->with('user'); 

私がしたいですソートby user.name
今、私は行くことができることを知っています$query->with('user',function(){...order by here});
私は後でスタックで実行できる分離された方法が必要です。

$query->user->orderBy('name'); 
$query->user()->orderBy('name'); 

これhttps://stackoverflow.com/a/38741988/936651は、それが可能であると言うが、私はエラーを取得:Undefined property/method: Illuminate\Database\Eloquent\Builder::$user

with文を使用した後に、関連するテーブルでソートする方法はありますか?

おかげ

答えて

0
あなたが $query = Post::query();を行う際には、クエリビルダのインスタンスを返しますので、あなたのコードは動作しませんので、あなたが後に $query->user()を行うときにクエリビルダは、メソッドを持っていないので、それはあなたにエラーを与える

user()、あなたの投稿モデルにそのメソッドが存在します。あなたは既にwith()方法を行う方法を知って述べてきたので、私は、任意のコードを提供することはありません

...

+0

あなたは、コード例を提供していただけますか? – SexyMF