Bonjour à tous,
Voila je rencontre un petit problème avec mon code.
Ce que je fais
Je récupère en bdd une liste de sites.
public function index(){
$websites = Website::paginate(10);
return view('List.index')->with(
[
'websites'=>$websites
]
);
}
Ce que je veux
Je souhaiterai trier ces sites en fonction de leurs nombre de votes.
Pour le système de vote, j'utilise [https://github.com/jcc/laravel-vote].
Ce package propose bien une méthode pour compter les votes d'une entité ('countUpVoters()') mais je ne sais pas comment l'utiliser avec un OrderBy par exemple.
Ce que j'obtiens
J'ai essayé quelque chose comme ça, mais sans étonnement cela ne fonctionne pas.
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'countUpVoters' in 'order clause' (SQL: select from websites order by countUpVoters desc limit 10 offset 0)*
$websites = Website::orderBy('countUpVoters', 'desc')
->paginate(10);
Ou bien
$websites = Website::paginate(10);
$websites->sortBy('countUpVoters');
Avec comme erreur: App\Website::countUpVoters must return a relationship instance.
Je ne sais pas si cela est compliqué à mettre en place mais je débute avec Laravel, merci d'être indulgent :) .
J'espère que quelqu'un pourra m'aider, merci d'avoir lu.
Luzzbe