문제

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