查詢數據庫以獲取名字或姓氏

比特里

我正在為我的用戶表開發一個搜索功能,以便我可以查詢用戶並將其顯示在我的應用程序中。到目前為止,我已將其用於 first_name,但我不確定用於在同一查詢中搜索姓氏的語法。我的用戶控制器如下所示:

  def search
   if params[:search].blank?
    redirect_to users_path and return
  else
   @parameter = params[:search].downcase
   @results = User.all.where("lower(first_name) LIKE :search", search: "%#{@parameter}%")
 end
end

輸出:

User Load (0.9ms)  SELECT "users".* FROM "users" WHERE (lower(first_name) LIKE '%laura%')

我的搜索表單如下所示:

<div class="input-group">
    <%= search_field_tag :search, params[:search], placeholder: "Type ", class: "form-control" %>
        <div class="input-group-btn">
            <%= button_tag "Search User", class: "btn btn-info", :name => nil %>
        </div>
    </div>
<% end %>

我的結果頁面:

<% @results.each do |result| %>
  <tbody>
     <tr>
       <td><%= link_to result.full_name, user_path(result) %></td>
       <td><%= result.email %></td>
       <td><% if result.subscribed? %>
       <span class="badge rounded-pill bg-success">Subscribed</span>
         <% else %>
       <span class="badge rounded-pill bg-danger">Not Subscribed</span>
     <% end %>

這很完美,但是我希望能夠輸入 last_name 並顯示這些結果。我知道我很接近,但我嘗試過的一些事情沒有奏效。

謝謝!

羅納姆·高雅特

你有沒有嘗試改變

@results = User.all.where("lower(first_name) LIKE :search", search: "%#{@parameter}%")

進入

@results = User.all.where("lower(first_name) LIKE :search or lower(last_name) LIKE :search", search: "%#{@parameter}%")

請執行並更新...

電阻

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章