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

Что за странное поведение после миграции?

Создал миграцию
public function safeUp()
    {
        $this->addColumn('recipes','url',$this->string(255)->notNull()->defaultValue(''));
    }
    public function safeDown()
    {
        $this->dropColumn('recipes','url');
    }

добавил поле в валидацию модели

public function rules()
    {
        return [
            [['title', 'description','time','url'], 'required'],
            [['description'], 'string'],
            [['created_at', 'update_at'], 'safe'],
            [['title', 'image','time','url'], 'string', 'max' => 255],
        ];
    }

ну и в атрибуты
public function attributeLabels()
    {
        return [
            'id' => 'ID',
            'title' => Yii::t('app','Название'),
            'description' => Yii::t('app','Описание'),
            'image' => Yii::t('app','Картинка'),
            'time' => Yii::t('app','Время приготовления'),
            'created_at' => Yii::t('app','Дата создания'),
            'update_at' => Yii::t('app','Дата изменения'),
            'url'=>Yii::t('app','Ссылка')
        ];
    }

пытаюсь сохранить форму (даже без поля в форме) получаю ошибку
Fatal error: Uncaught yii\base\UnknownPropertyException: Getting unknown property: common\models\Recipes::url
Миграцию применил. В чем ошибка ?
  • Вопрос задан
  • 87 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 2
@iSensetivity
бухгалтер, програміст-самоук
Почистите кеш фреймворка. Папка runtime
Ответ написан
@profaller
У вас включен кэш схем БД.

Отключить можно в кофиге компонента БД
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;dbname=back_import',
...
'enableSchemaCache' => false

Либо можно обновлять кэш схемы прям в миграции
$this->db->schema->refreshTableSchema('table_name')
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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