Всем здравствуйте! Подскажите пожалуйста из-за чего выходит ошибка "Call to a member function saveAs() on a non-object", данная ошибка указывает на то, в моем случае ошибка показывает, что при сохранении формы не прикреплен документ, с прикрепленным документов сохранение проходит нормально.
Контроллер
public function actionCreate()
{
$model = new Material();
if ($model->load(Yii::$app->request->post())){
$model->alias = str2url($res . ' ' . $model->name);
$model->docFile = UploadedFile::getInstance($model, 'docFile'); // Загрузка документа
if ($model->validate()) {
if ($model->save(false)) {
$model->gallery = UploadedFile::getInstances($model, 'gallery');
$model->uploadGallery();
}
if($model->path = $model->upload()) { // Присваиваем путь возвращаемый upload()
if ($model->save(false)) {
// return $this->redirect(['view', 'id' => $model->id]);
}
}
Yii::$app->session->setFlash('success', "Материал {$model->name} добавлен");
return $this->redirect(['view', 'id' => $model->id]);
}
}
return $this->render('create', [
'model' => $model,
]);
}
Модель
public function rules()
{
return [
[['docFile'], 'file', 'skipOnEmpty' => true, 'extensions' => 'txt, pdf, djvu, doc, docx, xls, xlsx, ppt, pptx, zip, rar, 7z, tiff'],
];
}
public function upload()
{
if ($this->validate()) {
$path = $this->processMkDir();
$fileName = Inflector::slug(pathinfo($this->str2url($this->docFile->baseName), PATHINFO_FILENAME)) . '.' . $this->docFile->extension;
$this->docFile->saveAs($path . $fileName);
return $fileName;
} else {
return false;
}
}