торт php 3 сохранение данных в базу данных не работает после добавления нового столбца - PullRequest
0 голосов
/ 10 марта 2020

Эй, я хочу сохранить данные в моей базе данных с тортом php 3.8. Все работает, но я добавил новое поле "create_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;
}

Мой файл сущности "Запрос. 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 результатом являются правильные данные. То же самое при сохранении.

Столбец в таблице выглядит как created_by varchar (100) DEFAULT NULL

Я не знаю, почему он не сохраняет данные. Если у кого-то есть еще вопросы по поводу кода, пожалуйста, спросите:)

Ответы [ 2 ]

0 голосов
/ 12 марта 2020

Я не знаю почему, но если я создаю новую базу данных с той же схемой, это работает. Спасибо всем за помощь:)

0 голосов
/ 10 марта 2020

без сообщения об ошибке. Было бы трудно определить, где находится недостаток. Одна вещь, которую вы могли бы рассмотреть, это проверка базы данных, если она занята обработкой другого процесса. Если есть запросы на флуд, блокирующие ваш запрос.

...