0

我想知道是否可以使用 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 *, conflictoidfrom conflictowhere (select * where id IN(14, 60, 37, 39, 41, 43, 52, 57, 141, 144, 145, 183, 187, 14) )

我可能在这里做错了什么?包含“where id IN”以使其与我的模型一起使用的正确方法是什么?

谢谢,

4

1 回答 1

0

你试过了吗

$model->addCondition('id',array(14,60,37,....));
于 2012-05-18T16:36:55.387 回答