Привет, я новичок в Yii2. Мне необходимо загрузить с помощью формы excel-файл. С помощью документации создал такую модель (код будет ниже), далее прописал в нужном мне контроллере метод (также будет код), но при загрузке страницы представления у меня выходит ошибка (во вложении). Понятия не имею почему она происходит, попробовал гуглить, но ничего толкового применительно к моей ситуации не нашел. Помогите разобраться, что я делаю не так? Модель: Код (Text): <?php namespace app\models; use yii\base\Model; use yii\web\UploadedFile; class UploadForm extends Model { public $excelFile; public function rules() { return [ [['excelFile'], 'file', 'skipOnEmpty' => 'false', 'extensions' => 'xlsx, xls'], ]; } public function upload() { if ($this->validate()) { $this->excelFile->saveAs('uploads/' . $this->excelFile->baseName . '.' . $this->excelFile->extension); return true; } else { return false; } } } Контроллер Код (Text): <?php namespace app\controllers; use app\models\UploadForm; use Yii; use yii\web\Controller; use yii\web\UploadedFile; class StudentController extends Controller { /** * @return string */ public function actionIndex() { return $this->render('index'); } public function actionUpload() { $model = new UploadForm; if (Yii::$app->request->isPost) { $model->excelFile = UploadedFile::getInstance($model, 'excelFile'); if ($model->upload()) { return; } } return $this->render('upload', ['model' => $model]); } } Представление Код (Text): <?php use yii\widgets\ActiveForm; $this->title = 'Студенты'; ?> <br> <div class="container"> <h1 align="center">Загрузка данных о студентах из файла</h1> <?php $form = ActiveForm::begin(['options' => ['enctype' => 'multipart/form-data']]) ?> <?= $form->field($model, 'excelFile')->fileInput() ?> <button>Submit</button> <?php ActiveForm::end() ?> </div> И еще вопрос вдогонку: могу ли я использовать обыкновенные теги формы? Например, так: Код (Text): <form action="student/Upload"> <div class="form-group"> <label for="exampleFormControlFile1">Выберите файл .xls/.xlsx с локального компьютера</label> <input type="file" class="form-control-file" id="exampleFormControlFile1"> </div> <button type="submit" class="btn btn-primary">Загрузить</button> </form> Если да, то что прописать в action, чтобы форма отправлялась в нужный мне метод контроллера?
Уже решил проблему. Решение очевидное, даже не ошибка, а невнимательность. У меня метод контроллера возвращал вьюху на index, а надо было на upload