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