Mysql
 sql >> Base de données >  >> RDS >> Mysql

Laravel ordonne les résultats par colonne sur une table polymorphe

Je l'ai compris grâce à un commentaire sur ce post 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.*']);

J'ai déjà essayé quelque chose de similaire, mais je rencontrais des problèmes car les identifiants et d'autres colonnes se heurtaient entre les deux tables jointes. La différence cette fois étant ->select(['users.*']) . Désormais, seules les données de l'utilisateur sont renvoyées.