Проблема с компонентом вложения CakePHP

#php #cakephp #file-upload #attachment

#php #какеффп #загрузка файла #привязанность #cakephp #вложение

Вопрос:

Я пытаюсь использовать компонент вложения (видно здесь). Я следовал инструкциям и добавил это в свой вид:

 <?= $this->Form->create('Event', array('type' => 'file'); ?>
<?= $this->Form->file('image_attach'); ?>
  

Затем добавил это в add функцию моего контроллера:

 $this->data['Event']['image'] = $this->Attachment->upload($this->data['Event']['image_attach']);
  

Я также объявил это в верхней части моего класса контроллера:

 var $components = array('Attachment' => array(
    'photos_dir' => 'events'
));
  

Когда форма отправлена, я var_dump включаю ее в свою data переменную, чтобы увидеть, что добавляется. Но прежде чем это произойдет, я получаю эту ошибку.

 Notice (8): Undefined index: event [APP/controllers/components/attachment.php, line 67]
  

Я попытался заглянуть в файл компонента, и все, что я могу сказать, это то, что он пытается найти индекс, который является именем моей модели в массиве, через который я прохожу. Но я уже понял это из ошибки выше.

Я просто хочу знать, не сделал ли я что-то не так, или что может быть причиной этого, будь то моя вина или компонента?

Спасибо,

Ответ №1:

хммм, после прочтения компонента… мне кажется, что вам нужно вызвать upload() метод следующим образом:

 $this->Attachment->upload($this->data['Event'],'image_attach');
  

Удачи!