Пускай это будут таблицы A, B, C, D, E.
Для удобства создал метод. Но доделывать его я не стал, так, как понял, что так просто все не пройдет.
Код: Выделить всё
private function create($model, $data = array()) {
$model->attributes = $this->arr;
if (!$model->validate()) {
echo CHtml::errorSummary($model);
}
$model->save();
return $model->id;
}
Сначала вставляем в таблицу A, и нам нужно получить ид вставленной записи для следующего запроса. Выполняем запрос B и тоже получаем ид.
Код: Выделить всё
$client_id = $this->create($clients_model);
$journal_id = $this->create(new JournalParking, array('client_id' => $client_id));
В таблицы C и D мне нужно иметь возможность вставить туда по несколько записей и занести идшники этих записей в таблицу E. То есть если в таблицу C вставлю две записи, а в D три, то в E нужно будет вставлять пять записей.
Если бы не требовались ид вставленных записей то, конечно, я бы просто сгенерил sql строку и одним запросом все это сделал, но вот как сделать так, что бы с ид и грамотно я не знаю. Не в цикле же запросы гонять. Или раз такие запросы будут очень редко, то не стоит запариваться на счет оптимизации?
Подскажите, пожалуйста, буду очень благодарен.