2017-05-16 3 views
0

I Tabelle SubjectTutor haben die Spalte id, subject_id, tutor_id, province_id, city_id, school_id, state_private und status. Ich möchte Daten in SubjectTutor Tabelle einzufügen, aber der Fehler istDaten können nicht zur Datenbank cakephp speichern

province_id, city_id, school_id und state_private nicht in Tabelle SubjectTutor gespeichert, aber id, subject_id und tutor_id wird gespeichert.

Dies ist Controller. Ich setze auch province_id, city_id, school_id und state_private Wert.

public function admin_add_pack($standard_id=null) 
{ 
    $this->loadModel('Plan'); 
    $this->loadModel('SubjectTutor'); 
    $this->loadModel('Standard'); 
    $this->loadModel('Province'); 
    $this->loadModel('City'); 
    $this->loadModel('School'); 
    $this->loadModel('User'); 

    $standard_data = $this->Standard->find('first',array('conditions'=>array('Standard.id'=>$standard_id))); 

    $province_id = 32; 
    $city_id = 44; 
    $school_id = 1855; 
    $this->set('title_for_layout','Subject'); 

    if(!empty($this->request->data)) 
    {   
     if (!isset($this->request->params['_Token']['key']) || ($this->request->params['_Token']['key'] != $this->request->params['_Token']['key'])) 
     { 
      $blackHoleCallback = $this->Security->blackHoleCallback; 
      $this->$blackHoleCallback(); 
     } 

     //validate user data 
     $this->SubjectTutor->set($this->request->data['SubjectTutor']); 
     $this->SubjectTutor->setValidation('add'); 

     if ($this->SubjectTutor->validates()) 
     { 
      // $this->request->data['Subject']['user_id'] = $this->Auth->user('id'); 
      $userdata = $this->request->data['SubjectTutor']; 
      $this->SubjectTutor->save($userdata,false); 
      $subject_tutor_id = $this->SubjectTutor->id; 

      $this->SubjectTutor->school_id = 1855; 
      $this->SubjectTutor->province_id = 32; 
      $this->SubjectTutor->city_id = 44; 
      $this->SubjectTutor->state_private = 1; 
      $this->Session->setFlash("Record has been added successfully", 'admin_flash_good'); 
      $this->redirect(array('controller'=>'standards', 'action'=>'subject_list',$standard_id)); 
     } 
     else 
     { 
      $this->Session->setFlash("Record has not been created", 'admin_flash_bad'); 
     } 
    } 
    $tutors = $this->User->getStandardTutorList($standard_id); 
    $subjects = $this->Subject->getStandardSubjectList($standard_id); 
    $standards = $this->Standard->getStandardList(); 
    $provinces = $this->Province->getProvinceList(); 
    $cities = $this->City->getCityList(); 
    $schools = $this->School->getSchoolList(); 

    $this->set(compact('provinces')); 
    $this->set(compact('standards','standard_id','province_id','city_id','school_id','standard_data','tutors','subjects','provinces','cities','schools','tutor_id')); 
} 

dieses CtP-Datei:

<div class="form-group"> 
<div class="col-sm-6"> 
    <label for="exampleInputPassword1"> Select Tutor </label> 
     <?php echo($this->Form->input('SubjectTutor.tutor_id', array('options'=>$tutors,'div'=>false, 'label'=>false, "class" => "form-control",'empty'=>'Select Tutor')));?> 
</div> 
</div> 

<div class="form-group"> 
<div class="col-sm-6"> 
    <label for="exampleInputPassword1"> Select Standard </label> 
     <?php echo ($this->Form->input('Subject.standard_id2', array('options'=>$standards,"div"=>false,"default"=>$standard_id,"label"=>false,"class"=>"form-control",'disabled'=>true))); ?> 
</div> 
</div> 
<div class="form-group"> 
<div class="col-sm-6"> 
    <label for="exampleInputPassword1">Select Subject </label> 
     <?php echo ($this->Form->input("SubjectTutor.subject_id", array('empty'=>'--Select Subject--', 'options'=>$subjects,"div"=>false,"label"=>false,"class"=>"form-control",'disabled'=>false))); ?> 
</div> 
</div>  
<div class="form-group"> 
<div class="col-sm-6"> 
    <label for="exampleInputPassword1">Province </label> 
     <?php echo ($this->Form->input("SubjectTutor.province_id", array('empty'=>'--Select Province--', 'options'=>$provinces,"div"=>false,"default"=>$province_id,"label"=>false,"class"=>"form-control",'disabled'=>true))); ?> 
</div> 
</div>   
<div class="form-group"> 
<div class="col-sm-6"> 
    <label for="exampleInputPassword1">City </label> 
      <?php echo ($this->Form->input("SubjectTutor.city_id", array('empty'=>'--Select City--', 'options'=>$cities,"div"=>false,"default"=>$city_id,"label"=>false,"class"=>"form-control",'disabled'=>true))); ?> 
</div> 
</div> 
<div class="form-group"> 
<div class="col-sm-6"> 
    <label for="exampleInputPassword1">School </label> 
     <?php echo ($this->Form->input("SubjectTutor.school_id", array('empty'=>'--Select School--', 'options'=>$schools,"div"=>false,"default"=>$school_id,"label"=>false,"class"=>"form-control",'disabled'=>true))); ?> 
</div> 
</div>   

Antwort

0

Wenn Sie die ‚behindert‘ Option für ein Feld in einer Ansicht verwenden, wird das Feld nicht gesetzt bekommen, wenn die Formulardaten gespeichert wird .. Entweder Verwenden Sie stattdessen die Option 'readonly' oder legen Sie diese Werte vor dem Speichern im Controller fest (da Sie ohnehin keine Benutzereingabe benötigen). Oder zeigen Sie den Wert für den Benutzer an, ohne vorzugeben, dass er Eingaben hat, und verwenden Sie ausgeblendete Felder, um die korrekten Daten zu übergeben.

Verwandte Themen