我有一个循环问题。 我想收集每个月的每件商品的名称数量 此代码跳过具有空值的变量,但我需要这些值。 下面是一些涉及的表格
Name
id int
date date
item_id int
所以我需要循环它们并将它放在一个数组中。
@names = Name.find(:all)
@list=Array.new
@names.each do |e|
@list << Name.count(:all,:conditions=>["item_id = ? and DATE FORMAT(date,%M) = ?",e.item_id,date],:group =>DATE FORMAT(date,%m),:order=>"date ASC")
end
因此,对于每个具有空计数的item_id,它都没有进入数组。 我该如何加入它们?
答案 0 :(得分:0)
通过选择ID或nil
ID
:conditions => ["(item_id = ? OR item_id = ?) and DATE FORMAT(date,%M) = ?", e.item_id, nil, date]
答案 1 :(得分:0)
@list << Name.count(
:all,
:conditions=>["item_id = ? and DATE FORMAT(date,%M) = ?",e.item_id,date],
:group =>DATE FORMAT(date,%m),
:order=>"date ASC"
) || nil