[英]how to select distinct row in rails
total_site
model 有project_id
、 user_id
和total_site_id
列。 我能夠訪問屬於 current_user 登錄的site
。現在我想訪問project_id
不同的列,但我得到相同 project_id 的重復。 我怎樣才能在rails中解決這個問題。 這是我的代碼-
項目控制器.rb
def new
@projects = TotalSite.where(user_id: current_user.id) #here is want distinct project_id column
@sites = TotalSite.where(user_id: current_user.id)
end
表格.html.erb
<div class="field medium-4 columns">
<%= form.label :select_project,:class=>"required" %>
<%= form.collection_select :project_id, @projects, :id, :project_id, prompt: true %>
</div>
<div class="field medium-4 columns">
<%= form.label :select_site,:class=>"required" %>
<%= form.collection_select :site_id, @sites, :id, :name, prompt: true %>
</div>
假設您有一個 model Project
,其中has_many:total_sites
來自您的描述:
total_site
model 有project_id
如果您希望您的@projects
是當前用戶的所有唯一項目 ID,那么
@projects = TotalSite.where(user_id: current_user.id).distinct.pluck(:project_id)
如果您希望它是實際的Project
記錄,那么
Project.joins(:total_sites).where(total_sites: { user_id: current_user.id }).distinct
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.