Задать вопрос
@evgen9586
Backend-dev. Лублу Enterprise и не люблю понты)

Как в миграции перебрать все строки в таблице?

Суть в том что в миграции нужно перебрать все строки и изменить в каждой стройке одно поле. Но что-то найти не могу как они перебираются в миграции чтобы сделать такой массовый апдейт
  • Вопрос задан
  • 50 просмотров
Подписаться 1 Простой 8 комментариев
Пригласить эксперта
Ответы на вопрос 1
Kosmonavt_kosmosa
@Kosmonavt_kosmosa
Бэкэнд разработчик
Не уверен в том что это лучший вариант, но всегда можно использовать для этого модель ActiveRecord - к примеру если нужно обновить поле 'status' в таблице 'records':
public function safeUp()
    {
        $modelsQuery = Record::find();
        
        /** @var Record $record */
        foreach ($modelsQuery->each() as $record) {
            $record->status = 'new status';
            $record->save();
        }
    }
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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