Yii CDbCommand方法不适用


Yii CDbCommand methods not applying

我有以下代码在Yii中创建CDbCommand:

$cmd = Yii::app()->db->createCommand(array(
    'select'=>'CMUM, CPRO, CUN, DMUN50',
    'from'=>'PROVINCIAS',
    'where'=>'CPRO = :CPRO'
));
$cmd->bindParam(":CPRO", $CPRO, PDO::PARAM_STR);
$cmd->setLimit(2);

这应该限制查询结果为2行,但我得到所有可用的行。为什么?

您应该在绑定参数之前设置限制。因为当你绑定参数时,它会在内部准备PDO语句。因此,您不能在此之后设置限制。

$cmd = Yii::app()->db->createCommand(array(
    'select'=>'CMUM, CPRO, CUN, DMUN50',
    'from'=>'PROVINCIAS',
    'where'=>'CPRO = :CPRO'
));
$cmd->setLimit(2);
$cmd->bindParam(":CPRO", $CPRO, PDO::PARAM_STR);