2016-09-26 7 views
0

이 업데이트가 내 코드입니다 : PS : EMPID는 외래 키하지만 난 그 이유가 될 야해 생각하고 코드는 CakePHP의나는 업데이트하려고하지만 새 행을 추가

에서
if($this->request->is('post')) 
     { 
      $this->request->data["Leave"]["empid"] = $this->request->data["id"]; 
      $this->Leave->empid = $this->request->data["Leave"]["empid"]; 
      $this->request->data["Leave"]["leave_start"] = $this->request->data["start_date"]; 
      $this->request->data["Leave"]["leave_end"] = $this->request->data["end_date"]; 
      $this->request->data["Leave"]["leave_taken"] = $this->request->data["leave_taken"]; 

      if($this->Leave->save($this->request->data['Leave'])) 
      { 
       return $this->redirect(array('action' => 'manage_leave')); 
      } 
     } 
입니다

//이 코드는 업데이트하는 대신 새 행을 삽입하고 새 행에 값을 추가하지 않습니다.

+0

외래 키를 대신하여 업데이트하는 경우 저장 대신 updateAll 메서드를 사용해야합니다. 기본 키를 대신하여 업데이트하는 경우 주 데이터를 저장하는 데 기본 키를 전달해야합니다. –

답변

0

simple save을 사용하여 외부 테이블 데이터를 업데이트하려고 할 수 있습니다. 외래 키

Model::updateAll(array $fields, mixed $conditions) 

에 대한

업데이트 여러 레코드 예

$this->Ticket->updateAll(
    array('Ticket.status' => "'closed'"), 
    array('Ticket.customer_id' => 453) 
); 

간단한 당신의 HTML이 있는지 확인하십시오 기본 키

를 위해 저축 empid

,
echo $this->Form->input('Leave.empid', array('type' => 'hidden')); 

저장 모델

$this->Leave->empid = $this->request->data["Leave"]["empid"]; //2 
$this->Leave->save($this->request->data); 

사이에서, 당신은 또한 set에 모델 데이터를 시도하고 그들이 어떤 유효성 검사 오류를 제공하는 경우 $this->Leave->validates()$this->Leave->validationError을 확인할 수 있습니다.

// Create: id isn't set or is null 
$this->Recipe->create(); 
$this->Recipe->save($this->request->data); 

// Update: id is set to a numerical value 
$this->Recipe->id = 2; 
$this->Recipe->save($this->request->data); 

이 당신을 :) 도움이 모든 Saving your data

희망에 대한 자세한 정보를 찾을 수 있습니다

+0

감사합니다. 사용자 (y) –

+0

@AdityaMan이 도움이된다면 기꺼이 답변을 수락합니다. –

0

그리고 경우에 $ EMPID 경우 휴가 모델의 해당 테이블의 기본 키 (예 : 잎), 그냥이다 대체 :

$this->Leave->empid = $this->request->data["Leave"]["empid"]; 

$this->Leave->id = $this->request->data["Leave"]["empid"]; 
0

으로
+0

자사의 노력, 감사합니다 –

관련 문제