を見つけるRailsの中でNULLです:空の配列はどこがどこ条件を見つける簡単な以下のいる
Player.where('id NOT IN (?)', @groups.collect {|g| g.player_ids}.flatten)
だから、これは右、どのグループでは、現在ではありませんすべてのプレイヤーを見つけましたか?問題は、どのグループにもプレイヤーがいない場合、何も表示されないということです。
SELECT "players".* FROM "players" WHERE (id NOT IN (NULL))
これは私には奇妙デフォルトのように思える、と私は同じ結果とのRails 3.0.7と3.1.0.rc4でそれをテストしてみた:その理由は、次のSQLが生成されます。これで、@ groups.collect {| g | g.player_ids}は空ですが、これを行うにはより良い方法がありますか?
それは私の望むやり方で機能し、100より小さいコレクションでしか作業していないので完全に機能します。ありがとう! – amunds
小さなコレクションを使用するとサブクエリはそれほど悪くない – Anatoly