我想在where子句中等于两个表列值(动态),我的代码就像这样
array('table1.column1' => 'table2.column2')
它显示了像这样的SQL查询
where `table1`.`column1` = 'table2.column2'
但我想这样:
where `table1`.`column1` = `table2`.`column2`
我只想将逗号“'”更改为“”,请帮助我?
提前致谢。
答案 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'"));