我有Rails模型User
,其中我有多个属性,如id
,first_name
,last_name
等,现在我要解决的问题是我想要的通过组合(first_name + last_name
)组合来获取用户并订购它们。我考虑了一段时间,但认真地说,我甚至没有一个遥远的线索。谢谢
答案 0 :(得分:2)
对于MySQL:
User.order('CONCAT(`first_name`, `last_name`)')
答案 1 :(得分:0)
滑轨:
JDK 7u71
' .order'将字符串或数组作为参数。然后,您可以组合多个列和方向。
答案 2 :(得分:0)
逻辑方面,没有必要加入/连接数据以对其进行排序。作为优先级,主排序字段将在主排序的上下文中设置第二种排序的上下文和范围。只需选择第一个排序列,然后选择下一个排序列作为子排序,依此类推。例如:
(Sort col 1) (Sort col 2)
Rec ID 22 Adam Adam
Rec ID 10 Apple Aaron
Rec ID 01 Apple Volar
Rec ID 78 Cal Adam
Rec ID 42 Cal Volar
Rec ID 19 Cookie Zeta
因此,这样的事情会起作用
User model {
scope :order_by_full_name, -> { order("first_name ASC", "last_name ASC") }
{
Controller {
@sorted = User.order_by_full_name
}