concat两个领域activerecord

use*_*662 3 ruby activerecord ruby-on-rails ruby-on-rails-3 ruby-on-rails-4

我很习惯oracle,你可以简单地

concat(field1, ' ', field2)
Run Code Online (Sandbox Code Playgroud)

但如果我使用activerecord找到field1和field2,我需要一个空格,我该如何做到这一点?

为你的所有帮助干杯

小智 9

在你的模型中:

def full_name
  [first_name, last_name].join(' ')
end
Run Code Online (Sandbox Code Playgroud)


Cha*_*iam 6

对于后代和未来的Google员工,您可以在假设postgres(也许是mysql?)的情况下进行以下操作:

User.select("(first_name || ' ' || last_name) as name").where(organization: current_user.organization)
Run Code Online (Sandbox Code Playgroud)

选择用途|| SQL操作,从场Concat的弦first_namelast_name,以及as name并将结果返回到“名称”列中。

可能返回:

+----+--------------------+
| id | name               |
+----+--------------------+
| 3  | Ada Lovelace       |
| 18 | Alan Turing        |
+----+--------------------+
Run Code Online (Sandbox Code Playgroud)