添加新列后,cakephp 3 将数据保存到数据库不起作用

cakephp 3 save data to database dont work after adding new column

嘿,我想用 cakephp 3.8 将数据保存到我的数据库中。一切正常,但我添加了一个新字段 "created_by" 并在模型文件夹中对其进行了更改。

这是我的RequestTable.php

public function validationDefault(Validator $validator){
    .... (more, but not important)
    $validator
      ->scalar('created_by')
      ->maxLength('created_by', 100)
      ->allowEmptyString('created_by');

    return $validator;
}

我的实体文件"Request.php"

在顶部

* @property string|null $created_by

protected $_accessible = [
  ... (more)
  'created_by' => true,
];

我要保存数据的代码:

$request = $this->Requests->newEntity();
$session = $this->getRequest()->getSession();
if(!empty($session->read('Auth.User.username'))){
  $this->request->data['Requests']['created_by'] = $session->read('Auth.User.username');
}

$request = $this->Requests->patchEntity($request, $this->request->getData('Requests'));
if ($result = $this->Requests->save($request)) {
  ...
}

在空支票上它进入子句。在 patchEntity 之后,结果是正确的数据。存档里也一样。

table 中的列看起来像 created_by varchar(100) 默认 NULL

不知道为什么不保存数据。如果有人对代码有更多疑问,请询问:)

没有错误信息。很难确定缺陷在哪里。您可能会考虑的一件事是检查数据库是否正忙于处理另一个进程。如果有洪水请求使您的请求被锁定。

我不知道为什么,但如果我创建一个具有相同模式的新数据库,它就可以工作。谢谢大家的帮助:)