记录一下,今天有一个需求要做的是排序,正序的排序,当时为零的要排到最后面。然后我就写了一个原生sql用来查询。sql语句是。select *from osc_discount order by priority = 0,priority;
可以在tp的助手函数里面的时候我犯难了。怎么试都不行。 priority = 0,priority
我想要加这个条件进去。怎么都搞不定。最后的时候我看官方文档里面有这个东西。
orderRaw
$list = Db::name('discount')
->where($map)
// ->order('is_del asc, add_time desc')
->orderRaw('priority = 0,priority')
->limit($page,$limit)
->select();
把原生的sql条件加在了里面就可以了这样。
这样就会让0作为最后的查询。这个问题就解决了。
作者分享了在ThinkPHP中遇到的问题,如何将SQL查询结果按优先级进行正序排序,特别指定优先级为0的元素排在最后。通过使用orderRaw方法和原生SQL条件,成功实现了这一需求。
1160

被折叠的 条评论
为什么被折叠?



