CakePHP未定义的通知

时间:2016-08-18 19:30:53

标签: cakephp

$ this-> request-> data ['User'] ['updated']可能已设置也可能未设置(它是表单中的复选框)。如果它没有设置,一切都运行良好,但我在debug.log中收到“未定义的索引”通知

$this->User->update($user_id, $payment_id, $this->request->data['User']['upgraded']);

以下代码修复了它,但是有一种方法可以处理它而无需添加额外的IF语句:

$upgraded = false;
if(isset($this->request->data['User']['upgraded'])) {
     $upgraded = $this->request->data['User']['upgraded'];
}
$this->User->update($member_id, $payment_id, $upgraded);

并且,在我的update()函数中,我检查$ upgrade是否为null,但仍然出现错误。

1 个答案:

答案 0 :(得分:1)

您可以使用哈希类来消除潜在未设置变量的错误 类似的东西:

$this->User->update(
    $user_id, 
    $payment_id, 
    Hash::get(
       $this->request->data, 
      'User.upgraded', 
       false
);

其中false是未设置字段的默认值

Documentation