ブログがuser_idを介してUserに属するテーブルがあります。
私はthinkingsphinxを使用してブログのインデックスを作成していますが、ユーザーが現在アクティブになっているブログ(user.status = User :: ACTIVE)のインデックスのみを作成したいと考えています。
インデックスを作成するための以下のコードがありますが、「where」句が間違っていることはわかっています。それはどうあるべきですか?
define_index do
indexes title
indexes body
where "user.status = '#{User::ACTIVE}'"
end
更新:whereメソッドがSQLコードをデータベースエンジンに渡すだけであることがわかります。これはJOINのコードを渡すことで実行できるように見えますが、JOINステートメントを自分で作成するのに十分なSQLがわかりません。
2番目の更新:SQLをいじり回すと、JOInはWHEREの前に移動する必要があるようです。そのため、誰かがよく知っていない限り、SQLコードを使用してこれを行うことはできません。