簡體   English   中英

Rails搜索多個模塊的多個屬性

[英]rails search multiple attributes of multiple modules

我正在嘗試搜索Ticket模型中的所有列。 大多數列都通過belongs_to關聯進行關聯,因此我必須在我的列中搜索信息的屬性,因為人們不會知道這些ID。

這些文章有助於: 在Rails 3.0中搜索多個數據庫列

Rails:在has_one關聯中搜索

到目前為止,我有以下代碼,但它僅搜索頂部參數。 我如何獲得它,以便如果它在頂部搜索中找不到任何內容,它將嘗試下一個。 我將為此添加更多內容。

謝謝

def self.search(search)
  if search
    Ticket.joins(:submitter).where('first_name LIKE ?', "%#{search}%")
  elsif  
    Ticket.joins(:issue).where('name LIKE ?', "%#{search}%")
  else
    all
  end
end

我想通了,在這里更新了正確的代碼:

def self.search(search)
case search 
when /^[-+]?[0-9]*\.?[0-9]+$/
  Ticket.find(:all, :conditions => ['id LIKE :search', {:search => "%#{search}%"}])
else
  Ticket.joins(:submitter,:issue).find(:all, :conditions => ['name LIKE :search OR first_name LIKE :search', {:search => "%#{search}%"}])
end
end

上面的更新代碼-找到答案

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM