php - 如何在 Yii2 中找到属性等于值或为空的 ActiveRecords

标签 php sql activerecord yii2

我基本上有一个事件查询,如果它与 ID 匹配或为空,我想过滤该列

MyTable::find()->andFilterWhere(['in', 'org_id', [null, $org_id]])->all();

目前正在使用它,适用于 $org_id,但它不会返回 null 值。 我试过这个看是否能得到任何空结果,但无济于事

MyTable::find()->andFilterWhere(['in', 'org_id', null])->all();

有什么建议吗?

最佳答案

纠正你这样的查询:

MyTable::find()
   ->andFilterWhere(['in', 'org_id', $this->org_id])
   ->orWhere(['org_id' => null])
   ->all();

你也可以用数组指定IS NULL条件,orWhere就足够了,因为这个条件不依赖于属性值。

关于php - 如何在 Yii2 中找到属性等于值或为空的 ActiveRecords,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28838302/

相关文章:

php - 如何使用 PHP Azure-Storage-PHP SDK 重命名 blob?

php - 通过 PHP 转义保留的 SQL Server 关键字

sql - Play框架忽略进化脚本

ruby-on-rails - 单表继承替代方案

ruby-on-rails - 有没有一种方法可以将 rails 中的值设置为 nil 并保存?

php - mysqli_stmt::bind_result():绑定(bind)变量的数量与准备语句中的字段数量不匹配

php - php中的 session 深度很小

javascript - Mysql加载时间较长

SQL Server - 提高小数精度/小数位数的性能

ruby-on-rails - 如何在数据存储中存储 RDF 图?