我正在尝试找出如何通过我目前在db_query中使用的代码转换为db_select的代码。 查询根据当前登录用户的匹配程度对用户进行排序。我还使用一些WHERE语句来删除完全不兼容的用户,然后通过计算运行其余的顺序来加速查询,所以我不想将它作为select表达式运行。
ORDER BY (10*(s.field_smoker_value * :field_smoker_pref_value) +
10*(sp.field_smoker_pref_value * :field_smoker_value) +
15*(p.field_pet_value * :field_pet_pref_value) +
15*(pp.field_pet_pref_value * :field_pet_value) +
5*(c.field_couple_value * :field_couple_pref_value) +
5*(cp.field_couple_pref_value * :field_couple_value))ASC