Задать вопрос
ITwoolf
@ITwoolf

Как поменять тип строки при загрузке файлов?

Всем привет. Хочу загрузить таблицу, которую экспортировал. Пишет, что у строки id_avtor1 тип должен быть integer (Array ( [id_avtor1] => Array ( [0] => Id Avtor1 must be an integer). Поменял в моделях с int на integer. Но, оказывается, нужно менять в контроллере при загрузке. Как тут правильно поменять тип поля id_avtor1 на integer ?
public function actionUpload()
    {

        $model = new UploadForm();
        if (Yii::$app->request->isPost ) {
            $model->fName = UploadedFile::getInstance($model, 'fName');
            if ($fName =$model->upload()) {
                    //путь к файлу

                    if (($handle = fopen($fName, 'r')) !== false) {


                        while (($row = fgetcsv($handle, 1000, ',')) !== false) {
                            $model = new Kniga1();
                            $model->name = $row [0];
                            $model->creation_date = $row [1];
                            $model->id_avtor1 = $row [2];

                            if ($model->validate()) {
                                $model->save();
                            } else {
                                $model->save();
                                print_r($model->errors);
                            }
                        }
                        fclose($handle);
                    };
                    //... код после импорта
            }

        }
        return $this->render('upload', ['model' => $model]);
    }


Пробовал вариант $model->id_avtor1='integer';
Но чето не то)
  • Вопрос задан
  • 70 просмотров
Подписаться 1 Простой 17 комментариев
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы