find()返回NULL Yii

时间:2011-07-29 18:38:03

标签: php null find yii

find()即使有符合条件的行,也会返回NULL

查找代码段

            $tempApp = Applicant::model()->find(array('condition'=>'phn=' . $app->phn . ' AND id<>' . $app->id));

            if($tempApp != NULL) {
                $archId = $this->archive($tempApp);
                if($archId != NULL) {
                    $tempApp->phn = NULL;
                    $tempApp->save();
                    $app->note = 'Former name: ' . $tempApp->first_name . ' ' . $tempApp->middle_name . ' ' . $tempApp->last_name;
                } else {
                    unset($archId);
                }
            }

注意:此代码在申请人第二次更新时有效。我很困惑为什么会这样。有人可以告诉我为什么会发生这种情况。

注意:我尝试了find()可以使用的不同方式(即。find('phn=:phn AND id<>:id', array(':phn'=>$app->phn, ':id'=>$app->id));

由于

2 个答案:

答案 0 :(得分:1)

使用count()而不是NULL

if(count($tempApp)) {
                $archId = $this->archive($tempApp);
                if(count($archId)) {
                    $tempApp->phn = NULL;
                    $tempApp->save();
                    $app->note = 'Former name: ' . $tempApp->first_name . ' ' . $tempApp->middle_name . ' ' . $tempApp->last_name;
                } else {
                    unset($archId);
                }
            }

答案 1 :(得分:0)

尝试回显你的SQL语句并将其粘贴到phpmyadmin sql选项卡中,看看你是否得到了结果。

另外,我会尝试使用!empty()而不是NULL来表示我的if语句