Как сослаться в миграциях Yii2 на инсёрты из кода выше?

Какой в миграциях yii2 бестпрактис для инсёрта данных в одну таблицу и последующего использования id этой строки для вставки в строки другой таблицы в роли ключа? Как этот id получить? Есть ссылки вроде тех что в миграция симфони?
И можно ли вставить строку в таблицу и потом вставить на неё ключ в другой строке этой же таблицы?
  • Вопрос задан
  • 195 просмотров
Пригласить эксперта
Ответы на вопрос 2
@matperez
Для массового добавления не знаю, а для одиночного можно использовать $this->db->lastInsertID.
Не проверял, но как нибудь так должно работать...
foreach ($persons as $person) {
            $this->insert('person', [
                'name' => $person->name
            ]);
            $personId = $this->db->lastInsertID;
            $this->insert('profile', [
                'phone' => $person->phone,
                'personId' => $personId,
            ]);
        }
Ответ написан
Hayate
@Hayate Автор вопроса
Похоже, что в данном случае лучше не использовать миграции, а генерировать данные например командой по некоторому массиву.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы