如何对两列施加排序。在拉拉维尔雄辩中
我的产品表包含这些数据
名称 | 折扣 | 价格 | _price |
---|---|---|---|
我想使用Laravel Oloxent将分类应用于表产品。 discount_price为0,然后分类适用于价格。 discounted_price而不是0,然后排序适用于discount_price。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您只需使用雄辩
get()
方法来检索所有项目。之后,通过集合和每次迭代进行迭代,检查discount_price
是!= 0
。如果条件是正确的,只需将一个名为final_price
的新项目附加到集合中,并具有discounted_price
的值。否则,用Price
附加final_price
。最后,使用
sortby()
方法,按final_price
在集合排序上进行进一步的参考 - https://laravel.com/docs/9.x/collections#method-sortby
You can simply retrieve all items using Eloquent
get()
method. After that, iterate through the collection and at each iteration, check if thediscounted_price
is!= 0
. If the condition is true, simply append a new item calledfinal_price
to the collection, with the value ofdiscounted_price
. Else, append thefinal_price
with theprice
.Finally, use
sortBy()
method to sort the collection by thefinal_price
Further reference on collections sorting - https://laravel.com/docs/9.x/collections#method-sortby
您可以做到这一点:
在这种情况下,
map> map()
Laravel Collection将是一个很好的解决方案!You can do this :
In this situation,
map()
Laravel Collection would be a good solution !