如何将此SQL重写为CodeIgniter的Active Records?

Iva*_*ova 1 sql activerecord codeigniter

SELECT *, SUM(tbl.relevance) AS relevance FROM
(
    (
        SELECT q_id,
        MATCH(a_content) AGAINST ('?????') AS relevance
        FROM answers

        WHERE
        MATCH(a_content) AGAINST ('?????')
    )
    UNION
    (
        SELECT q_id,
        (MATCH(q_content) AGAINST ('?????')) * 1.5 AS relevance
        FROM questions

        WHERE
        MATCH(q_content) AGAINST ('?????')
    )
) AS tbl

JOIN questions ON questions.q_id = tbl.q_id

GROUP BY tbl.q_id
ORDER BY relevance DESC
Run Code Online (Sandbox Code Playgroud)

Jos*_*ber 6

Codeigniter目前不支持Active Records类中的子查询.

你只需要使用它:

$this->db->query($your_query, FALSE);
Run Code Online (Sandbox Code Playgroud)

请记住传递第二个参数,以便Codeigniter不会尝试转义您的查询.