gpt4 book ai didi

Laravel Eloquent AS 关键字

转载 作者:行者123 更新时间:2023-12-02 02:05:45 26 4
gpt4 key购买 nike

我正在尝试使用关键字 AS 来组合两列,以便我可以对该列进行排序。

这是目前的完整查询。

$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);

最佳答案

试试这个:

Quote::where('created_at', '>=', $date)
->select(array('id',DB::raw('(downvotes - upvotes) as votes'))) //and what you need
->where('created_at', '<=', date('Y-m-d').' 23:59:59')
->order_by('upvotes', 'desc')
->order_by('votes', 'desc')
->paginate(5);

关于Laravel Eloquent AS 关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15158139/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com