如何在codeigniter get_where / where函数中等于两个表值

时间:2014-12-30 13:16:20

标签: php codeigniter

我想在where子句中等于两个表列值(动态),我的代码就像这样

array('table1.column1' => 'table2.column2')

它显示了像这样的SQL查询

where `table1`.`column1` = 'table2.column2'

但我想这样:

where `table1`.`column1` = `table2`.`column2`

我只想将逗号“'”更改为“”,请帮助我?

提前致谢。

3 个答案:

答案 0 :(得分:0)

如果要转义引号,可以将第三个参数设置为false:

->where('table1.column1', 'table2.column2', false)

答案 1 :(得分:0)

只需将字符串用于

之类的条件
$where="table1.column1 = table2.column2";
$this->db->where($where);



$where = "name='Joe' AND status='boss' OR status='active'";

$this->db->where($where);
Reference link:
https://ellislab.com/codeigniter/user-guide/database/active_record.html#select
Custom string:
You can write your own clauses manually:

答案 2 :(得分:0)

您还可以更明确地使用字符串

->where(array("'table1'.'column1'" => "'table2'.'column2'"));