2012-08-11 68 views
2
SELECT field1, field2 
FROM table1 
JOIN table2 ON (table2.field1=table1.field1 OR table2.field2=table1.field2) 

如何在CodeIgniter中编写此查询?我想在JOIN条件中有括号。CodeIgniter:如何在JOIN条件中使用括号

笨样品

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

但这会产生错误。

+0

请发布错误消息。 – 2012-08-11 15:30:32

回答

-1

我会用query()函数去写正常的SQL。

像这样:

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

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

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

括号不是必需的。

相关问题