假设我有一个具有category属性的产品模型,我想使用search()函数拉取category为空的所有此类产品。
$productSearch = clone Product::model();
$productSearch->Category = null;
$products = $productSearch->search()->getData();
通过检查生成的sql,我发现它不起作用,查询中根本没有提到category。最好的方法是什么?
如何搜索某些属性设置为空或特定值的记录
最佳答案
第一种变体:
// use search scenario, not clone model with metadata
$productSearch = new Product('search');
$productSearch->unsetAttributes();
// get CActiveDataProvider
$dataProvider = $productSearch->search();
// Add null condition
$dataProvider->criteria->addCondition('Category is null');
// Get data - first 10 rows
$products = $dataProvider->getData();
第二种变体(首选):
$products = Product::model()->findAll('Category is null');