2014-10-03 116 views
0

我有多個記錄,我不能保存。發生的是隻有最後一條記錄被保存,而不是其他條目。 我也試圖從每條記錄中刪除id。我曾嘗試白水,SaveMany等從1個模型保存多個記錄到另一個

http://book.cakephp.org/2.0/en/models/saving-your-data.html

控制器

if ($this->request->is('post')) { 
    $this->Availtmp->create(); 
    $tutoredit = array('Availtmp' => $this->request->data); 
    debug($tutoredit) ; 

    $tutoredit['Availtmp']['id']=NULL; 
    $tutoredit['Availtmp']['tutor_id']=$id;; 

    if ($this->Availtmp->save($tutoredit)) { 
     $this->Session->setFlas..... 
    } 

視圖

foreach ($tutor as $key => $item): 

    echo $this->Form->input('AvailabilityForTutor.'.$key.'weekday', 
     array('value' => $this->request->data[$key]['AvailabilityForTutor']['weekday']) 
    ); 

    echo $this->Form->input('AvailabilityForTutor.'.$key.'start_time', 
     array('type' => 'time', 'selected'=>$this->request->data[$key]['AvailabilityForTutor']['start_time']) 
    ); 

    echo $this->Form->input('AvailabilityForTutor.'.$key.'end_time', 
     array('type' => 'time','selected'=>$this->request->data[$key]['AvailabilityForTutor']['end_time']) 
    ); 


    echo $this->Form->hidden('AvailabilityForTutor.'.$key.'.id', 
     array('value' => $this->request->data[$key]['AvailabilityForTutor']['id']) 
    ); 

endforeach; 

echo $this->Form->end('Save Edit Request'); 


**data**array(
    'Availtmp' => array(
     'AvailabilityForTutor' => array(
      (int) 0 => array(
       'weekday' => 'Monday', 
       'start_time' => array(
        'hour' => '09', 
        'min' => '00', 
        'meridian' => 'am' 
       ), 
       'end_time' => array(
        'hour' => '11', 
        'min' => '00', 
        'meridian' => 'pm' 
       ), 
       'id' => '99' 
      ), 
      (int) 1 => array(
       'weekday' => 'Tuesday', 
       'start_time' => array(
        'hour' => '09', 
        'min' => '00', 
        'meridian' => 'am' 
       ), 
       'end_time' => array(
        'hour' => '10', 
        'min' => '00', 
        'meridian' => 'pm' 
       ), 
       'id' => '100' 
      ), 
      (int) 2 => array(
       'weekday' => 'Wednesday', 
       'start_time' => array(
        'hour' => '12', 
        'min' => '00', 
        'meridian' => 'am' 
       ), 
       'end_time' => array(
        'hour' => '12', 
        'min' => '00', 
        'meridian' => 'am' 
       ), 
       'id' => '101' 
      ), 
      (int) 3 => array(
       'weekday' => 'Thursday', 
       'start_time' => array(
        'hour' => '12', 
        'min' => '00', 
        'meridian' => 'am' 
       ), 
       'end_time' => array(
        'hour' => '12', 
        'min' => '00', 
        'meridian' => 'am' 
       ), 
       'id' => '102' 
      ), 
      (int) 4 => array(
       'weekday' => 'Friday', 
       'start_time' => array(
        'hour' => '12', 
        'min' => '00', 
        'meridian' => 'am' 
       ), 
       'end_time' => array(
        'hour' => '12', 
        'min' => '00', 
        'meridian' => 'am' 
       ), 
       'id' => '103' 
      ), 
      (int) 5 => array(
       'weekday' => 'Saturday', 
       'start_time' => array(
        'hour' => '09', 
        'min' => '00', 
        'meridian' => 'am' 
       ), 
       'end_time' => array(
        'hour' => '11', 
        'min' => '00', 
        'meridian' => 'pm' 
       ), 
       'id' => '104' 
      ), 
      (int) 6 => array(
       'weekday' => 'Sunday', 
       'start_time' => array(
        'hour' => '12', 
        'min' => '00', 
        'meridian' => 'am' 
       ), 
       'end_time' => array(
        'hour' => '12', 
        'min' => '00', 
        'meridian' => 'am' 
       ), 
       'id' => '105' 
      ) 
+0

哪裏是'如果結束( $ this-> Availtmp-> save($ tutoredit))'? – Sadikhasan 2014-10-03 11:45:34

+0

我沒有添加它,我沒有error.I得到最後一個記錄保存 – ajt 2014-10-03 11:46:48

+0

你的意思是'我沒有添加它'? – Sadikhasan 2014-10-03 11:52:23

回答

1

你嘗試

$this->Availtmp->saveAll($this->request->data['AvailabilityForTutor']); 

你缺少點

echo $this->Form->input('AvailabilityForTutor.'.$key.'weekday', 

應該

echo $this->Form->input('AvailabilityForTutor.'.$key.'.weekday', 

你錯過了上除了ID字段中的CTP每一行

相關問題