find() returning NULL Yii


find() returning NULL 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));

谢谢

使用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);
                }
            }

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

此外,我会尝试使用!empty()而不是NULL对于我的if语句