キーワード AS を使用して 2 つの列を結合しようとしているので、その列で並べ替えることができます。
これは現時点での完全なクエリです。
$quotes = Quote::where('created_at', '>=', $date)
->where('created_at', '<=', date('Y-m-d').' 23:59:59')
->order_by('upvotes', 'desc')
->paginate(5);
やりたい
->order_by('(downvotes - upvotes) as votes', 'desc')
ありがとうございました。
解決
DB::raw() を使用することが唯一の方法であるように見えますが、Laravel/Eloquent は AS を理解していません。
作業ソリューションは
$quotes = Quote::select(array('id', DB::raw('(downvotes - upvotes) as votes'), 'upvotes', 'downvotes', 'etc')) // Rest of column needed.
->where('created_at', '>=', $date)
->where('created_at', '<=', date('Y-m-d').' 23:59:59')
->order_by('votes', 'asc')
->paginate(5);