我有一个表博客通过 user_id 属于用户。
我正在使用thinking sphinx 来索引博客,但我只希望它索引用户当前处于活动状态的博客(user.status = User::ACTIVE)。
我有以下用于创建索引的代码,但我知道“where”子句是错误的。应该是什么?
define_index do
indexes title
indexes body
where "user.status = '#{User::ACTIVE}'"
end
更新:据我所知, where 方法只是将 SQL 代码传递给数据库引擎。看起来这应该可以通过传入 JOIN 的代码来实现,但我不知道有什么足够的 SQL 来自己创建一个 JOIN 语句。
第二次更新:使用 SQL 似乎 JOIn 必须在 WHERE 之前进行,因此使用 SQL 代码是不可能的,除非有人知道得更好。