それはAR.find_by_sqlによって実行することができますが、コードは前読める悪いです。 そのクエリをビルドできるクエリビルダーはありますか?RailsのSQLクエリビルダ...またはActiveRecordのクエリビルダ
$sql = DB::select('*')->from('users');
$sql->where('id', 'NOT_IN', DB::expr('SELECT partner_id FROM encounters WHERE user_id = '.$user->id));
$sql->where('id', 'NOT_IN', DB::expr('SELECT user_id FROM encounters WHERE partner_id = '.$user->id.' AND predisposition = '.Encounter::Negative));
....
etc
...
:
例えば、Kohanaのは(それがPHPのフレームワークです、私はPHP開発者ですが、私は/レールルビーすること子供に言語を変更したい)このように動作しますクエリビルダを、持っていますKohanaクエリービルダーのようなクエリービルダーで構築されたクエリーは、読みやすく分かりやすくなっています。
この問題を解決する宝石はありますか?
が、それはのようなクエリを構築するために、クエリでデシベル式を貼り付けることができ、「これはそれで重要な意味を運ぶ」で始まるセクションを読んで、それを選ぶことにした場合
「のユーザーSELECT * FROM WHERE ID != '+ self.id.to_s +' AND id NOT IN(SELECT artner_id WHERE user_id = '+ self.id.to_s +'に遭遇しました)? –
@Zhirayr答えを編集しました – gmile
なぜこの場合には左結合しませんか? –