Ich habe es dank eines Kommentars zu diesem Beitrag herausgefunden 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.*']);
Ich habe zuvor etwas Ähnliches versucht, stieß aber auf Probleme, weil die IDs und andere Spalten zwischen den beiden verbundenen Tabellen kollidierten. Der Unterschied ist diesmal ->select(['users.*'])
. Jetzt werden nur die Daten des Benutzers zurückgegeben.