CakePHP Upload Plugin — Поле ‘photo_dir’ не имеет значения по умолчанию

Я пытаюсь настроить старое приложение cakePHP на новом хостинге и вдруг получаю эту ошибку на общем хостинге godaddy. Отлично работает на старом хостинге. Прошло 2 года, я работал над CakePHP и, похоже, не понимаю, почему это происходит. Я использую следующий плагин загрузки CakePHP-загрузки

Error: SQLSTATE[HY000]: General error: 1364 Field 'photo_dir' doesn't have a default value
SQL Query: INSERT INTO `prayag_cms`.`galleries` (`branch_id`, `name`, `album_id`, `display_photo`, `modified`, `created`) VALUES (0, 'Photo', 1, 'CpLMQ28WYAEOnow.jpg_large.jpg', '2016-12-06 10:17:14', '2016-12-06 10:17:14')

Это мое подтверждение

public $actsAs = array(
'Containable',
'Upload.Upload' => array(
'display_photo' => array(
'fields' => array(
'dir' => 'photo_dir'
),
'thumbnailSizes' => array(
'small' => '250x250',
),
'thumbnailMethod' => 'php',
'path' => '{ROOT}webroot{DS}img{DS}{model}{DS}',
),

)
);

контроллер:

public function admin_add() {
if ($this->request->is('post')) {
$this->Gallery->create();
if ($this->Gallery->save($this->request->data)) {
$this->Session->setFlash(__('The gallery has been saved.'), 'admin/flash_success');
return $this->redirect(array('action' => 'index'));
} else {
$this->Session->setFlash(__('The gallery could not be saved. Please, try again.'), 'admin/flash_error');
}
}
$branches = $this->Gallery->Branch->find('list');
$albums = $this->Gallery->Album->find('list');
$this->set(compact('branches', 'albums'));
}

2

Решение

Это может происходить, если папка не существует (webroot / img / users [model]) или у вас недостаточно прав для создания новой папки или папки доступа.

  1. по этой причине фото не загружено
  2. если фотография не загружена, то photo_dir назначен NULL
  3. Но ваше поле базы данных не принимает значение NULL
  4. Тогда вы получите эти ошибки

надеюсь, что ваша проблема будет решена

1

Другие решения

Других решений пока нет …