我想知道是否可以使用 addCondition() 将类型为“id IN (1,2,3,4)”的 where 子句添加到现有模型?根据 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:
选择 SQL_CALC_FOUND_ROWS *, conflicto
。id
from conflicto
where (select * where id IN(14, 60, 37, 39, 41, 43, 52, 57, 141, 144, 145, 183, 187, 14) )
我可能在这里做错了什么?包含“where id IN”以使其与我的模型一起使用的正确方法是什么?
谢谢,