Сохранение массива значений в базу данных yii2
Скорее решение, т.к. сам не смог нигде найти ответ.
Столкнулся с проблемой - yii2 сохраняет последнее значение с помощью цикла. Код контроллера выглядел так:
$userCategories = new UserCategory();
foreach ($model->user_category as $item) {
$userCategories->user_id = Yii::$app->user->identity->getId();
$userCategories->category_id = intval($item);
$userCategories->save(false);
}
из-за чего в базу сохранялось последнее значение цикла. Решение выглядит просто. Необходимо определять вызов новой модели в теле цикла, тогда все значения массива будут сохранены:
foreach ($model->user_category as $item) {
$userCategories = new UserCategory(); /* вот здесь */
$userCategories->user_id = Yii::$app->user->identity->getId();
$userCategories->category_id = intval($item);
$userCategories->save(false);
}
Привожу снимок полученных записей в БД:
