Yii 中的查询——添加条件
Query in Yii - Adding Condition
我想在我的查询中添加一个条件,这将删除等于 999
的 product_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'
));
我想在我的查询中添加一个条件,这将删除等于 999
的 product_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'
));