选择字段为null或使用查询生成器Yii的数据


Selecting data where field is null or with query builder Yii

我想用查询生成器Yii从id_parent不为null或child大于零的数据库中选择数据。所以,我写的剧本如下

$parent = Yii::app()->db->createCommand()
                    ->select('*')
                    ->from('parameter')
                    ->where( 'id_parent = null or child >0' )
                    ->order('laboratorium', 'ASC')
                    ->queryAll();

它只给了我2行数据的结果。两者的id_parent都为null,child都大于零。我不仅需要数据,还需要id_parent为null的数据,尽管它的子项为零。在另一种情况下,我想从id_parent不为null的同一个表中选择数据。我使用这个脚本:

$child = Yii::app()->db->createCommand()
                    ->select('*')
                    ->from('parameter_pemeriksaan')
                    ->where('id_parent != null')
                    ->queryRow();

结果是数组(0){},因为我的数据库中有几个数据的id_parent不为null。我如何解决它?

您与NULL进行了错误的比较。使用IS NULL/IS NOT NULL检查条目是否为空。请检查此资源中的NULL比较。

所以你的条件必须是:

`id_parent` IS NULL OR `child` > 0
`id_parent` IS NOT NULL