1

Rails 2.3.10 を使用しています。Stream、Buzz、および BuzzDigest というモデルがあります。アソシエーション、バズ has_many :streams があります。別の関連付け、buzz has_one :digest があります。場合によっては、buzz.digest が nil になることもあります。ストリームの話題のダイジェストが nil であるストリームを除外するストリームのクエリを作成するにはどうすればよいですか?

これは正しい構文ではありませんが、私が望むものに近いかもしれません:

Stream.find( :all, :conditions => "buzz_id.digest IS NOT NULL" )
4

1 に答える 1

0

BuzzDigest はオブジェクトであり、DB フィールドや attr_accessor ではないため、まずアプリの設計において、buzz.digest が nil になる可能性があるという事実を修正する必要がある場合があります。

あなたがそれに躊躇するなら、素早い思考は次のようなものを持っています:


Stream.includes[:buzzes, :buzz_digests].group(:id)

正しいスキーマを想定しています。 SO質問にもいくつかのヒントがあるかもしれません。

于 2012-09-08T14:34:15.143 に答える