我有一個標籤對象(id,name)和一個標籤對象(id,tag_id,type)。我想找到所有標籤名稱都是「kevin」的標籤,並且我可以找到一個類型設置爲「people」(類型可以設置爲人物或其他標籤)的外部標籤對象。有沒有更好的SQL方法來完成Ruby的Array.delete_if與Rails.find請求?
我試圖在Rails Tag.find方法的複雜SQL請求,但沒走多遠,所以我現在有兩行試圖使用Ruby的delete_if方法:
people = Tag.find(:all, :conditions => ["name like ?", "Kevin%"])
people.delete_if { |p| Tagging.find(:all, :conditions => { :tag_id => p.id, :type => "people" }).empty? }
它的實際工作,但是必須有一種更智能的方式直接將數據寫入數據庫,對吧?
感謝您的幫助,
凱文