Ich habe eine Tabelle stats
wie folgt aus:Eloquent: Reihenfolge von max Differenz?
id | post_id | num_yes | num_no
1 | 1 | 2 | 0
2 | 1 | 3 | 3
3 | 1 | 1 | 0
Wie kann ich durch die Differenz bestellen num_yes - num_no
? Die Ausgabe sollte 1, 3, 2
(in Bezug auf id
) aussehen.
Ich habe dies zur Zeit:
$posts = Post::join('stats', 'stats.id', '=', 'posts.id')
->where('post_id', 1)
->orderByRaw('MAX(stats.num_yes - stats.num_no)', 'DESC')
->get();
Aber das funktioniert nicht. Wie kann ich das beheben?