Запись данных в цикле

297
22 марта 2017, 19:11

Здравствуйте. Суть проблемы: есть 4 поля в БД id, category_id,brands_id, models. При получении данных с формы первые 3 поля все нормально там просто числа приходят поле же моделей я разбиваю через explode на составляющие и у меня не выходит их записать в цикле с одинаковыми первыми 3-мя параметрами. Может подскажите что и как (аналогичное решение для afterSave вдругом месте у меня подошло но там мне надо было записывать данные в другую таблицу используя данные с этой модели а вот как записать данные используя туже модель никак не выходит сделать отдает 500). Пробывал и в afte и в before разные варианты что то не получается (на сколько понимаю код разбивки должен быть в before). Код функции в модели:

public function afterSave($insert, $changedAttributes)
{
parent::afterSave($insert, $changedAttributes);
    $this->parseModels();
}
private function parseModels()
{
    $test = explode(PHP_EOL,$this->models99);
    foreach ($test as $value) {
        $new = new Models;
        $new->id = $this->id;
        $new->id_category = $this->id_category;
        $new->id_brands = $this->id_brands;
        $this->models99 = $value;
        $this->save();
    }
}
Answer 1

Ответ был близко нужно было запихнуть похожий код в валидацию может кому полезно будет:

if ($model->load(Yii::$app->request->post())) {
        if ($model->validate()) {
            $mod = explode(PHP_EOL, $model->models99);
            foreach ($mod as $models99) {
                $newmodel = new Models;
                $newmodel->models99 = $models99;
                $newmodel->id_category = $model->id_category;
                $newmodel->id_brands = $model->id_brands;
                $newmodel->save();
            }
        }
READ ALSO
Структура массива под SOAP запрос

Структура массива под SOAP запрос

У меня есть вот такой XML, который прекрасно работает в SOAPIU:

407
отправка запроса json через php+curl

отправка запроса json через php+curl

Есть необходимость отправить следующий хук:

353
Как объединить два массива и сделать отображения по порядку

Как объединить два массива и сделать отображения по порядку

Пытаюсь объединить два массива первый массив

223