2011-05-04 4 views
0

CakePHP에서 프로젝트를 진행하고 있습니다. 우리는 데이터베이스의 레코드를 업데이트 할 때cakephp 비 ID 고유 필드가있는 레코드 업데이트

, 우리가 일반적으로 수행

$save_arr = array('field1'=>'value1'); 
$this->MyModel->id = $id; 
$this->MyModel->save($save_arr); 

내가 아약스 일부 데이터를 업데이트하고있는 상황에서, 그리고 난은 필드 이름 (필드 1)을 통과하고, 새 값 (value1)과 내 테이블에서 고유 한 다른 필드의 값 ('myUniqueField'에 값 12)이 있습니다. "id"필드의 값은 여기에 표시되지 않습니다.

고유하지 않은이 비 ID 필드를 사용하여 내 레코드를 업데이트하려면 어떻게해야합니까?

도와주세요.

감사

답변

2

당신은 updateAll() 방법을 사용할 수 있습니다

$this->Model->updateAll(
    array('Model.field1' => "'value1'"), // Watch out! Manual escaping here! 
    array('Model.MyUniqueField' => 12) 
); 
+0

감사 샌더,이 도움이되었다을 ... – Prashant

+0

당신은 같은 방법으로 deleteAll을 할 수 있습니까? – bpneal

+0

@bpneal : 예. http://book.cakephp.org/view/1038/deleteAll을 참조하십시오. –