@happ

Как правильно создать подготовленный запрос на добавление множества значений в yii2?

Такой запрос корректно работает, данные добавляю в цыкле, но это не самый лучший вариант, т.к. каждый запрос анализируется. Как вставить массив значений. Использую другие методы - получаю ошибки.
Yii::$app->db->createCommand()->insert('post_tag', [
'post_id' => $postId,
'tag_id' => $tag,
])->execute();
  • Вопрос задан
  • 220 просмотров
Решения вопроса 2
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
Yii::$app->db->createCommand()->batchInsert('user', ['name', 'age'], [
    ['Tom', 30],
    ['Jane', 20],
    ['Linda', 25],
])->execute();

пример из документации www.yiiframework.com/doc-2.0/guide-db-dao.html

Вот еще вариант более развернутый stackoverflow.com/questions/27355262/activerecord-...
Ответ написан
@happ Автор вопроса
Долго ломал голову. В цыкле создается объект Active Record, добавляются значения в свойства объекта, и происходит его сохранение.
foreach ($tags as $tag) {
$tag_id = $tag;

$postTag = new PostTag;
$postTag->post_id = $postId;
$postTag->tag_id = $tag_id;
$postTag->save();

}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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