2014-10-03 103 views
0

我可以预填充1记录的形式,但我无法获取多个记录来预先填充表单。 我想预先填充所有的记录,其中将有大约6-10行的ID。预填充多笔记录

我得到所需的表单字段来显示(约7记录如预期),但没有在文本框中。 在这种情况下,文档不清楚多个记录。

此外,我需要保存只有少数的这些记录

public function availtmped($id = null) { 
    $this->loadModel('AvailabilityForTutor'); 

    .... 
     if ($this->request->is('post')) { 
      $this->Availtmp->create(); 
       $tutoredit = array('Availtmp' => $this->request->data['AvailablityForTutor']); 
       $tutoredit['Availtmp']['id']=NULL; 
      $tutoredit['Availtmp']['tutor_id']=$id;; 

       if ($this->Availtmp->save($tutoredit)) { 
       $this->Session->setFlash(__('The tutor details to be edited have ben forwarded to management'), 'flash_success'); 
       // $this->redirect(array('controller'=> 'tutors' , 'action' => 'tutordetails')); 
      } else { 
       $this->Session->setFlash(__('The tutor edit details could not be saved. Please, try again.'), 'flash_alert'); 
      } 



     } else { 
      // $this->request->data = $this->AvailablityForTutor->read(null, $id); 

     } 

     $tutor_id = $id; 
     $tutor =$this->AvailabilityForTutor->find('all',array( 'conditions'=>array('tutor_id'=> $tutorId))); 
     $this->request->data=$tutor; 

view// UPDATE - i can populate with weekday but not time field as I just get the wrong start/end time 

     echo $this->Form->create('AvailablityForTutor', array('type' => 'post')); 

      foreach ($tutor as $key => $item): 
      echo $this->Form->input('AvailabilityForTutor.'.$key.'.weekday', 
            array('value'=>$this->request->data[$key]  echo $this->Form->input('weekday', 
             array('value'=>$this->request->data[$key]['AvailabilityForTutor']['weekday'])); 
       echo $this->Form->input('start_time', 
             array('value'=>$this->request->data[$key]['AvailabilityForTutor']['start_time'])); 

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


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

回答

0

使用下面的方法是非常基本的,但你可以按照通过它

foreach ($tutor as $key => $item): 
     echo $this->Form->input('AvailabilityForTutor.'.$key.'.weekday', array('value'=>$this->request->data[$key]['AvailabilityForTutor']['weekday'])); 
     echo $this->Form->hidden('AvailabilityForTutor.'.$key.'.id', array('value'=>$this->request->data[$key]['AvailabilityForTutor']['id'])); 
endforeach; 
+0

如何从这种方法得到的ID当保存,因为我需要在控制器级别的每个记录的额外字段中添加保存 – ajt 2014-10-03 05:52:46

+0

更新答案之前,检查这个应该工作 – Abhishek 2014-10-03 06:36:28

+0

这完全否定了使用表单帮助器IMO的好处。 – shxfee 2014-10-03 06:41:09