CakePHP通知(8)提出:使用未定义的常量inList - 假设'inList'

Log*_*ter 1 php cakephp

注意(8):使用未定义的常量inList - 假设'inList'[CORE\Cake\Utility\ClassRegistry.php,第168行]

这个通知已经困扰了我一段时间了,而且我不知道如何解决它..它之前没有真正影响我的项目,因为它只是一个通知消息,但现在,它不是让我显示错误消息我正在尝试向用户显示.

我有这个功能

  public function validate_form(){
        if($this->RequestHandler->isAjax()){
            $this->request->data['Donor'][$this->params['form']['field']] = $this->params['form']['value'];
            $this->Donor->set($this->data);
            if($this->Donor->validates()){
                $this->autoRender = FALSE;
            }else{
                $error = $this->Donor->validationErrors;
                $this->set('error',$error[$this->params['form']['field']]);           

            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

以上是我的帖子请求提交的动作.然后执行以下操作以显示错误

 if (error.length > 0) {
     if ($('#name-notEmpty').length == 0) {
      $('#DonorName').after('<div id="name-notEmpty" class="error-message">' + error + '</div>');
     }
 }else{
    $('#name-notEmpty').remove();
 }
Run Code Online (Sandbox Code Playgroud)

问题是我新创建的div中没有​​相关的错误...我从蛋糕中得到了通知8!如果有人知道为什么会发生这种情况,我感谢您对此的帮助.

Dav*_*ave 5

TLDR:

对'inList'进行项目范围内的查找并找到它周围没有引号的地方,或者,如果它应该是变量,则会丢失它$.

说明:

当您尝试使用不存在的PHP常量时,会出现该错误.通常你实际上并没有尝试使用常量,而只是忘记在某些内容中包装引号或忘记$在变量之前添加.

例子:

$name = "Dave";
echo name; // <-- WOAH THERE, there is no Constant called name (missing $)

$people = array('Dave' => 'loves pizza');
echo $people[Dave]; // <-- WOAH THERE, no Constant called Dave (missing quotes)
Run Code Online (Sandbox Code Playgroud)