簡體   English   中英

使用連接在一個紅寶石中的2個字段進行搜索

[英]Search using 2 fields concatenated in one ruby

如果您能幫助我,我在徘徊。 我需要使用我的數據庫的2個字段(Cod +數字)進行搜索。 我在前一欄中展示了這一點。 鱈魚ACE +數字003,它顯示ACE003,因此如何在一個文本字段中搜索兩個選項。 現在,如果您在該字段中輸入ACE003,則不會返回任何內容,但是,如果您鍵入ACE,它當然可以工作。 這是我的代碼。

的index.html

<%= text_field_tag :s_cod, params[:s_cod] %>  

<% @items.each do |item| %>
  <tr>
    <td><%= item.cod + '%03d' % item.num.to_s %></td>
    ...  

調節器

if (params[:s_cod] != nil) or (params[:s_rotulo] != nil) or (params[:s_den_cont] != nil) or (params[:s_marca] != nil)
  @items = View_item.all.order("date_expired ASC").page(params[:page]).per(15).search(params[:s_cod], params[:s_rotulo], params[:s_den_cont], params[:s_marca])  

您可以看到許多我用來搜索的字段。 我必須使用一個字段來搜索cod +數字。

模型

搜索部分

def self.search(s_codigo, s_rotulo, s_den_cont, s_marca)
where("cod ilike :s_c and rotulo ilike :s_r and den_cont ilike :s_d and marca ilike :s_m", s_c: "%#{s_cod}%", s_r: "%#{s_rotulo}%", s_d: "%#{s_den_cont}%", s_m: "%#{s_marca}%")
end  

如何使用一個文本字段按cod +數字進行搜索? 提前致謝!

更新(已解決)
在postgress數據庫中,我認為

.concat(items.cod, to_char(items.num, 'fm000'::text)) AS codigo

如果我正確理解了您的問題,則需要查詢兩列的連接值。

在MySQL中,使用CONCAT()函數,例如

where("concat(code,number) LIKE :s_c",s_c: "%#{s_cod}%")

我認為PostgreSQL應該類似,但是我不是100%熟悉語法

暫無
暫無

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

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