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

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

Суть в том что в миграции нужно перебрать все строки и изменить в каждой стройке одно поле. Но что-то найти не могу как они перебираются в миграции чтобы сделать такой массовый апдейт
  • Вопрос задан
  • 54 просмотра
Подписаться 1 Простой 8 комментариев
Помогут разобраться в теме Все курсы
  • Onskills
    PHP: базовый курс
    1 месяц
    Далее
  • teamcoding
    TC200PY Разработка PHP веб-приложений на Yii2. Шаблон приложения advanced
    3 месяца
    Далее
  • FructCode
    Yii2 Фреймворк
    2 месяца
    Далее
Пригласить эксперта
Ответы на вопрос 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();
        }
    }
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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