Tôi đã tìm ra nó nhờ nhận xét về bài đăng này http://laravel.io/forum/02-21-2014-order-and-paginate-a-collection-by-a-releted-field-using-eloquent .
User::leftJoin('images', function ($join) {
$join->on('users.id', '=', 'images.imageable_id')
->where('imageable_type', '=', 'User')
->where('upload_date', '=', Carbon::today()->toDateString());
})
->orderBy('images.views')
->select(['players.*']);
Tôi đã thử một cái gì đó tương tự như điều này trước đây nhưng gặp phải sự cố vì id và các cột khác, đang xung đột giữa hai bảng được kết hợp. Sự khác biệt lần này là ->select(['users.*'])
. Bây giờ, chỉ dữ liệu của người dùng được trả lại.