【发布时间】:2020-11-28 22:56:10
【问题描述】:
我使用 cakephp 3.8,我想将我的实体保存在我的会话表中,但是模型返回给我一个我不明白的错误,因为正如你在屏幕截图中看到的那样,我的“is_active”字段不是为空,她的值为真。
这是我模型中的验证规则:
public function validationDefault(Validator $validator)
{
$validator
->integer('id')
->allowEmpty('id', 'create');
$validator
->scalar('name')
->maxLength('name', 255)
->requirePresence('name', 'create')
->notEmpty('name');
$validator
->boolean('is_active')
->requirePresence('is_active', 'create')
->notEmpty('is_active');
return $validator;
}
这是我的代码:
$session = $this->Sessions->newEntity(['session_state_id' => 'OPENED', 'section_id' => $section_id, 'is_active' => true]);
$this->Sessions->patchEntity($session, $this->getRequest()->getData());
$this->Sessions->save($session);
非常感谢您的帮助,
洛伊克
【问题讨论】:
-
您能否向我们展示您的型号代码中与
is_active相关的所有验证规则? -
@GregSchmidt 是的,我已经更新了我的帖子
-
我们怎么知道这个字段实际上是修补数据的一部分?创建实体的代码是什么样的? ps,请尽量避免将代码发布为图片 - 谢谢!
-
@ndm 因为我在声明我的实体时直接放了这个,所以我用代码编辑了我的帖子。如您所见,我的“is_active”属性是我的实体的一部分
-
它是您实体的一部分,但不一定是您修补数据的一部分,即它可能不存在于
$this->getRequest()->getData()中?如果实际上不可能从用户数据中修补它,那将是有道理的,但它会导致您显示的问题。
标签: php cakephp cakephp-3.0