سؤال

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