Вопрос

This code:

foreach ($arrays as $array){
    $this->Model->set('bla', $array['key1']);
    $this->Model->set('alb', $array['key2']);
    $this->Model->save();
    echo $this->Model->getLastInsertID() . ",";
}

returns:

2,2

should return:

1,2

I tried using

foreach ($arrays as $array){
    $this->Model->query('insert....');
    $this->Model->query('select last_insert_id()')
    }

but that returned "1,1"... So what I'm doing wrong??

Это было полезно?

Решение

When saving inside a loop, you need to explicitly call Model::create() first.

foreach ($arrays as $array){
    $this->Model->create();
    $this->Model->set('bla', $array['key1']);
    $this->Model->set('alb', $array['key2']);
    $this->Model->save();
    echo $this->Model->getLastInsertID() . ",";
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top