Can*_*yer 3 ruby ruby-on-rails ruby-on-rails-5
我的客户模型具有first_name和last_name领域.我可以使用以下代码查询模型:
Customer.where(first_name: "John").where(last_name "Doe")
Run Code Online (Sandbox Code Playgroud)
但是,我想查询这样的模型:
Customer.where(full_name: "John Doe")
Run Code Online (Sandbox Code Playgroud)
但是我没有full_name列.如何在不创建full_name字段的情况下实现此目的?
您可以在SQL中使用CONCAT运算符:
Customer.where("CONCAT(first_name, ' ', last_name) = ?", full_name)
Run Code Online (Sandbox Code Playgroud)
如果您使用like/ilike创建类似搜索功能的东西,这实际上可能有意义:
Customer.where("CONCAT(first_name, ' ', last_name) LIKE ?", "%#{full_name}%")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
93 次 |
| 最近记录: |