0
我有一個名爲Shop的模型,一個叫Brand。我怎樣才能把這個寫成一個查詢?
shop :has_many_brands
brands: belongs_to_shop
我想要做的是有一個查詢,執行以下操作。
選擇所有商店和品牌。 顯示所有商店的列表,首先顯示具有shop.name訂購品牌的商店,然後顯示shop.name訂購的商店的其餘商品。
希望它有道理......
這可能嗎?
我有一個名爲Shop的模型,一個叫Brand。我怎樣才能把這個寫成一個查詢?
shop :has_many_brands
brands: belongs_to_shop
我想要做的是有一個查詢,執行以下操作。
選擇所有商店和品牌。 顯示所有商店的列表,首先顯示具有shop.name訂購品牌的商店,然後顯示shop.name訂購的商店的其餘商品。
希望它有道理......
這可能嗎?
如果您只是需要在視圖中列出,最簡單的方法是顯示一個,然後顯示另一個。
所以你會顯示所有品牌商店,並正常排序。
然後顯示所有沒有品牌的商店,並正常排序。
在你的店展控制器:
if Shop.brands.empty?
@shopsWithout = @shops.sort_by{ |shop| shop.name}
else
@shopsWith = @shops.sort_by{ |shop| topic.name}
end
那麼在你看來,只是顯示每個。
<% unless @shopsWith.blank? %>
<% @shopsWith.each do |shop| %>
Shop: <%= shop.name %> Brand: <%= (you can loop shop.brands.all) %>
<% end %>
<% end %>
<% unless @shopsWithout.blank? %>
<% @shopsWithout.each do |shop| %>
Shop: <%= shop.name %><br />
<% end %>
<% end %>
我測試了這個,它工作正常。不知道如何連接@shopsWith和@shopsWithout,但如果你可以在控制器中這樣做(@shops = @shopsWith < @ shopWithout),那麼你只需要一個循環。沒有Ruby認爲我使用數組而不是對象集合,我無法弄清楚。
您只想擁有一個品牌的所有商店的列表。如果他們沒有品牌,你希望在品牌商店之後展示他們? – a3uge 2011-04-18 19:15:37
是的,這是現貨 – andkjaer 2011-04-18 19:18:00