短い質問
LaravelのEloquentモデルを使用すると、 morphMany
多相関係を持つ列のクエリをどのように並べ替えるのですか?多形表の列別ラベリング結果
長い質問
は、私は与えられたテーブル構造を持っていると言う:
// table: images
+ -- + ------------ + -------------- + ----- + ----------- +
| id | imageable_id | imageable_type | views | upload_date |
+ -- + ------------ + -------------- + ----- + ----------- +
| 1 | 1 | User | 100 | 2016-16-06 |
| 2 | 3 | User | 200 | 2016-16-06 |
+ -- + ------------ + -------------- + ----- + ----------- +
// table: users
+ -- + ---- +
| id | name |
+ -- + ---- +
| 1 | Bob |
| 2 | Kat |
+ -- + ---- +
...と私はmorphMany
多型の関係で雄弁User
モデルを持っています。
今日、アップロードした画像の視聴回数でユーザーを注文するにはどうすればよいですか?
私はこの問題を自分で試してみて、解決策を見つけることができませんでした。
User::with([
'images' => function ($query) {
$query->where('upload_date', Carbon::today()->toDateString())
->orderBy('views', 'DESC');
}
])->get();
しかし、これを試した後、ユーザーが今間違って自分のインクリメントIDによって順序付けされているように私には明らかではなかった:私はこれに似たクエリを使用したとき、私は、正しい順序に来ていた最も近いでしたimages
テーブルのviews
列。
私はこのことを理解するための旅で私を助けてくれてくれてありがとう。