我想知道我是否可以使用addCondition()添加类型的where子句:' id IN(1,2,3,4)'到现有的模型?根据Model_Tabel中的注释,如果我给它一个DB_dsql实例,则需要它是可能的:
function addCondition($field,$cond=undefined,$value=undefined)
{
// You may pass plain "dsql" expressions as a first argument
if($field instanceof DB_dsql && $cond==undefined && $value==undefined){
$this->_dsql()->where($field);
return $this;
}
但如果我尝试这样做:
$conflicto=$this->add('Model_Conflicto');
$conflicto->addCondition($this->api->db->dsql()->where('id IN'.$str));
我得到一个无效的SQL语句,其中包含新的where子句中的整个select:
从conflicto
中选择SQL_CALC_FOUND_ROWS *,id
。conflicto
其中(select * where id IN(14,60,37,39,41,43,52,57,141, 144,145,183,187,14))
我可能在这里做错了什么? 什么是正确的方式来包括'其中id IN'让这个与我的模型一起工作?
谢谢,
答案 0 :(得分:0)
你试过吗
$model->addCondition('id',array(14,60,37,....));