Добавление множества записей в БД

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
skit
Сообщения: 135
Зарегистрирован: 2012.10.08, 12:50
Откуда: Сибирь
Контактная информация:

Добавление множества записей в БД

Сообщение skit » 2012.10.19, 09:31

Здравствуйте,
помогите разобраться с добавлением множества записей. С процедурным добавлением проблем небыло, теперь свои проекты переношу под Yii. Не могу разобраться с добавлнием множества записей.

Код: Выделить всё

public function mainSave()
    {
        require_once MODEXT.'TimestampClass.php';

       // задаю поля
        $this->pid = 0;
        $this->uid = 0;
       // ....
       
        unset($_POST['comment']['id']); // Этого поля нет

         // Комменты
        foreach($_POST['comment'] as $key => $value){

       // Заполняю поля каждого коммента
            foreach($_POST['comment'][$key] as $k=>$v){

                if($k == 'name')   $this->name = $v;

                if($k == 'date') {

                    $date = new DateTime_52($v);
                    $this->changed = $this->created = $date->getTimestamp();
                }

                if($k == 'subject') {
                    $this->subject = substr($v, 0,64);
                    $this->text = $v;
                }
           }
        // Один коммент заполнился - схораняю
        $this->save();
       // Получаю id добавленной записи и выполняю еще один запрос в другую таблицу
        $this->after_Save();
        }
   // Пошел на следующий коммент
    }
При таком раскладе выдается ошибка или добавляются комменты, но заполненные поля не соответствуют, $this->after_Save(); запись не меняется, в базе дублиуется.
Если коммент один, все работает как нужно. Но в основном это множество комментов, которые добавляются из таблицы, которую формирует пользователь, может быть добавлено сколько угодно комментариев за один раз, но поля не меняются.

массив пост такой

Код: Выделить всё

comment 1 array(
name
time
body
....
),
comment 2 array(
name
time
body
)
 
Иными словами, как это нужно реализовывать?
Спасибо.

skit
Сообщения: 135
Зарегистрирован: 2012.10.08, 12:50
Откуда: Сибирь
Контактная информация:

Re: Добавление множества записей в БД

Сообщение skit » 2012.10.20, 20:45

ребят. Если вы не поможете, куда обращаться?

Аватара пользователя
lancecoder
Сообщения: 2532
Зарегистрирован: 2012.06.26, 17:16

Re: Добавление множества записей в БД

Сообщение lancecoder » 2012.10.20, 20:50

foreach (...){
$model= new Model;
....
$model->save()
}

ZxUkr
Сообщения: 20
Зарегистрирован: 2011.11.21, 13:00

Re: Добавление множества записей в БД

Сообщение ZxUkr » 2012.10.21, 00:25

skit писал(а):ребят. Если вы не поможете, куда обращаться?
Вобще-то есть статья и обращаться нужно в гугл
http://yiiframework.ru/doc/guide/ru/form.table

skit
Сообщения: 135
Зарегистрирован: 2012.10.08, 12:50
Откуда: Сибирь
Контактная информация:

Re: Добавление множества записей в БД

Сообщение skit » 2012.10.21, 06:27

Последнее время, все сложнее найти помощь у комьюнити, причем практически любого. Все становятся очень грамотными. Три дня пилю гугл и форумы, если не помогет иду сюда.
По предложенной ссылке (на которой я был), ответа я не увидел.
lancecoder писал(а): foreach (...){
$model= new Model;
....
$model->save()
Спасбо, буду пробовать.

Аватара пользователя
mat.twg
Сообщения: 218
Зарегистрирован: 2012.02.22, 20:44
Откуда: Санкт-Петербург

Re: Добавление множества записей в БД

Сообщение mat.twg » 2012.10.21, 08:25


Ответить