테이블의 모든 항목을 편집하는 기능을 사용하고 있습니다. 액션이 경우모든 기능 편집이 작동하지 않습니다 - CakePHP
가public function editAll()
{
$this->set('isEditAllValid', false);
$this->set('editAllValidationErrors', false);
if ($this->request->is('post'))
{
$this->LocalClock->table = 'local_clocks';
$this->LocalClock->getDataSource()->tableFields['local_clocks'] = array("id", "name", "auto_offset", "utc_offset_sec", "in_month", "in_week", "in_day", "in_hour", "out_month", "out_week", "out_day", "out_hour", "offset_sec");
$this->set('localClocksEntries', $this->LocalClock->find('all'));
if ($this->LocalClock->save($this->request->data))
{
foreach($localClocksEntries as $LocalClock)
{
$this->set('LocalClock', $this->request->data);
$this->LocalClock->save($LocalClock);
$this->set('isEditAllValid', true);
$this->set('editAllValidationErrors', false);
}
}
else
{
$this->set('isEditAllValid', false);
$this->set('editAllValidationErrors', true);
}
}
}
내가, 거짓 (검증 물건)에 대한 몇 가지 부울 변수를 설정하는 코드에서 일을하고, 다음 게시물 지역을 잡아 : 여기
내 컨트롤러에서 내 편집 작업입니다 시계 테이블에 저장하고 저장 용 변수에 삽입하십시오. 그런 다음 해당 변수를 반복하고 표에있는 각 항목에 게시 된 데이터를 저장하십시오.왜 그런지 모르지만 모두 편집하려고 할 때 점점 더 많은 오류가 발생합니다.
고지 (8) : 정의되지 않은 변수 : localClocksEntries [APP/컨트롤러/LocalClocksController.php, 라인 (158)]
(2) : 경고의 foreach 위해 공급 잘못된 인수() APP/컨트롤러/LocalClocksController.php을 line 158]
기본적으로 테이블의 모든 행을 반복하고 사용자가 양식에 입력 한 내용으로 변경하려고합니다.
나는 변화를 만들어 나는 그 오류를하지 않습니다. 그러나 저장하려고하면 기존 항목을 편집하지 않고 표에 새 항목을 추가해야합니다. 어떤 아이디어? – RXC
루프의 각 반복마다 기본 키 (id)를 설정해야합니다. ID가 지정되지 않으면 cake는 편집하지 않고 새 행을 만듭니다. – Hoff
@Hoff - 도움을 주셔서 감사합니다. 방금이 두 줄을 추가하여 해결했습니다. '$ this-> LocalClock-> id = $ LocalClock [ 'LocalClock'] [ 'id']; $ this-> LocalClock-> save ($ this-> request-> data); ' – RXC