mysql - 具有相等条件和类似条件的 Where 子句 RoR 4

标签 mysql ruby-on-rails ruby-on-rails-4

我可以在 RoR 4 中有这样的声明吗:

@vendors = Vendor.includes(:business).where(:business_id=>@business.id,:city_id=>city,:activated=>"1",["business.business_name LIKE ?","%#{params[:search]}%"]).page(params[:page]).per_page(10)

如果没有,那我该怎么做呢?

最佳答案

不,你不能那样做,但你可以.where() 调用链接在一起,即。

.where(business_id: @business.id).where("businesses.business_name LIKE ?", "%#{params[:search]}%")

请注意,您需要包含 .references(:business) 以确保执行 LEFT JOIN:

Vendor.includes(:business).references(:business).where(business_id:@business.id, etc..).where('businesses.business_name LIKE ?", "%#{params[:search]}%")

关于mysql - 具有相等条件和类似条件的 Where 子句 RoR 4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29115583/

相关文章:

php - 如何优化这些日期范围的查询?

ruby-on-rails - 在ActiveModel::Serializer中序列化错误哈希

ruby-on-rails - 如何隐藏 pry/rails 输出中的列

php - 遇到撇号时工具提示会损坏

我的管理员登录页面中的 PHP session 和 Cookie 错误

javascript - jquery - 更改文本颜色

jquery - 使用 AJAX 在 Rails 中自动保存表单

ruby-on-rails - 如何在Rails 3中使用带有has_many关联的fields_for分配值

mysql - Rails 相当于 SQL 查询的事件记录查询

php - 即时生成唯一 ID Mysql + PHP