CodeIgniter:如何在JOIN条件中使用括号

时间:2012-08-11 08:56:50

标签: codeigniter

SELECT field1, field2
FROM table1
JOIN table2 ON (table2.field1=table1.field1 OR table2.field2=table1.field2)

如何在CodeIgniter中编写此查询?我希望在JOIN条件下有括号。

CodeIgniter示例

$this->db->select("field1,field2")
$this->db->from("table1")
$this->db->join("table2","(table2.field1=table1.field1 or table2.field2=table1.field2)")

但这会产生错误。

1 个答案:

答案 0 :(得分:-1)

我会使用query()函数并编写普通的SQL。

像这样:

$this->db->query(
   'SELECT field1, field2 
    FROM table1
    JOIN table2 
        ON table2.field1=table1.field1 
        OR table2.field2=table1.field2');

使其更具可读性。在大型应用程序中,我们经常会由专家或没有CI程序员检查所有查询,这在使用活动记录表示法时是不可能的。

然后,您甚至可以将查询放在单独的文件中,以便更好地进行抽象和跨团队访问。

括号不是必需的。