$ 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,但仍然出现错误。
答案 0 :(得分:1)
您可以使用哈希类来消除潜在未设置变量的错误 类似的东西:
$this->User->update(
$user_id,
$payment_id,
Hash::get(
$this->request->data,
'User.upgraded',
false
);
其中false
是未设置字段的默认值