Yii 中的查询——添加条件

Query in Yii - Adding Condition

我想在我的查询中添加一个条件,这将删除等于 999product_id。目前,我收到以下错误:Property "CDbCriteria.where" is not defined.有什么建议吗?

在我的 PHP 控制器中查询

$products = Product::model()->findAll(array(
                    "condition" => $condition,
                    "where" => 'product_id != 999',
                    'order' => 'product_name ASC'
                ));

更新代码 这仍然不会删除 product_id 999,但不会引发错误。

$products = Product::model()->findAll(array(
                        "condition" => $condition + 'where product_id != 999',
                        'order' => 'product_name ASC'
                    ));

因为你在这里做的是传递一组 CDbCriteria。现在 documentation 显示 CDbCriteria 没有 属性 命名为“where”。您可以通过连接在 $condition 中使用 where

DELETE FROM table_name
WHERE product_id = 999

只有 CDbCommand 有 属性 where

我的原始代码无法运行,因为我传递的是 CDbCriteria 数组。它还不允许 where 语句。我最终使用 . 将我的条件与 $condition 连接起来,并将我的 where 更改为 AND 语句

这是我的最终输出:

$products = Product::model()->findAll(array(
            "condition" => $condition . ' AND product_id != 999',
            'order' => 'product_name ASC'
      ));