Octobercms Загрузить файлы

Как решить ошибку?

образ

это мой код htm (кнопка загрузки)

{{ form_open({files: true, request: 'onFileUpload'}) }}

<!--File Input-->
<input type="file" name="file-upload" required="required">
<!--File Input-->

<!--Submit/Upload Button-->
<button type="submit">Upload</button>

{{ form_close() }}

это код php компонента

     public function onFileUpload()
{
$file = new System\Models\File;
$file->data = Input::file('file-upload');
$file->save();

// Attach the uploaded file to your model
$model->file()->add($file);
// The above line assumes you have proper attachOne or attachMany relationships defined on your model

$model->file_path = url('/') . $model->file->getPath();
$model->save();

return Redirect::back();
}

это правильные отношения attachMany?

public $attachMany = [
'files' => 'System\Models\File',
];
}

Я не очень уверен в коде, потому что я новичок в октябре CMS
Кто-нибудь может показать несколько примеров?
Как создать перетащивший файл компонент загрузки?

0

Решение

Вам нужно создать новый экземпляр модели, в которой вы определили свои отношения, и установить ее в качестве переменной $ model.

Например, класс вашей модели может выглядеть следующим образом.

class User extends Model
{
public attachMany [
'files' => 'System\Models\File'
];
}

И тогда в вашем компоненте onFileUpload ()

$model = new User;
$model->files()->add($file);
$model->file_path = url('/') . $model->file->getPath();
$model->save();

Также обратите внимание, что ваши отношения attachMany в классе модели определены как файлы, но вы пытаетесь использовать их с

$model->file()->add();

Так должно быть

$model->files()->add();
0

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

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

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector