目录
1.使用 orderRaw 方法和 field 函数来按照指定的字段排序:
在 TP5.0 中,orderRaw
方法可以用来设置原生的排序规则。该方法可以接受一个字符串参数,该字符串参数将被直接插入到 SQL 查询语句的 ORDER BY
子句中。
orderRaw
方法和 field
函数来按照指定的字段排序:$users = Db::name('user')
->orderRaw('field(status,1,0,2)')
->select();
在上面的示例中,我们使用 orderRaw
方法来设置排序规则,该规则将按照 status
字段的值排序,其中 status
字段的值为 1 的记录将排在最前面,值为 0 的记录将排在中间,值为 2 的记录将排在最后面。
field
函数是 MySQL 中的一个函数,用于将指定字段的值作为排序依据。该函数的语法为:
field(field_name, value1, value2, ...)
?其中,field_name
是要排序的字段名称,value1
、value2
等是要排序的值。在排序时,field
函数将按照指定的值的顺序来排序记录。
使用 orderRaw
方法来设置按照用户的订单数量降序排列的规则。
示例:
$users = Db::name('user')
->orderRaw('(SELECT COUNT(*) FROM orders WHERE orders.user_id = user.id) DESC')
->select();
使用 orderRaw
方法来设置按照 name
字段长度降序排列的规则。
示例:
$users = Db::name('user')
->orderRaw('LENGTH(name) DESC')
->select();