2012-05-10 5 views
0

동일한 모델을 읽은 후에 데이터를 저장하려고합니다. 여기에 내 코드입니다 :읽은 후 데이터 저장

public function partner($postid, $partner){ 
    $this->Partner->id = $postid; 
    $this->Partner->id = $partner; 
    $this->Partner->ip = $_SERVER['REMOTE_ADDR']; 
    $result = $this->Partner->read(); 
    if($result){ 
     $time = $result['Partner']['time']; 
     pr($result); 
    } 



    $data = array('id' => $partner, 
        'post' => $postid, 
        'time' => time(), 
        'cash' => '0.001', 
        'ip' => $_SERVER['REMOTE_ADDR']); 
    $this->Partner->save($data); 
} 

는 그냥 데이터를 업데이트하지만 새 행을 저장 Partner 모델을 설정 한 것, $this->Parter->create(); 전화, $this->Partner->save($data); 전에 새 행

+1

save() 함수가 수행하는 작업을 게시 할 수 있습니까? – gunnx

+0

당신은 틀린 데이터를 배열 필드 id에 넘길 수 있습니다. $ postid 여야합니다. –

+0

이 두 줄은 혼란 스럽습니다 :'$ this-> Partner-> id = $ postid; $ this-> Partner-> id = $ partner;'. 왜 이런 짓을하는? '$ partner [ 'id'] 변수에'$ partner '를 넘겨 준다고 생각하지 않습니다 ... – shadyyx

답변

0

로 저장하지 않습니다.

EDIT : id이 모델의 기본 키가 아니며 데이터베이스에 이미있는 값으로 설정하지 않으면이 경우 $model->create()을 사용하는지 여부에 관계없이 업데이트됩니다. (나는 생각한다).

+1

명확히하기 위해 몇 가지 다른 방법을 업데이트 할 수 있습니다 :'Model-> id'를'Model -> create()'는 리셋하거나'Model-> create()'가 저장하지 않는 PK 필드를 리셋하지 않을 것이다. 그럼에도 불구하고 그는 ID를 데이터에 전달하므로 항상 업데이트 할 것입니다 ... – jeremyharris

+0

실제로 'id'가 물론 기본 키입니다 (이는 매우 가능성이 높습니다). – Joep

관련 문제