2014-12-08 4 views
1

팔콘에 자연 키가있는 테이블을 업데이트하는 좋은 방법이 있습니까? 우리는 사람 필드가 고유 및 기본 키라고 가정거야팔콘 PHP : 기본 자연 키 업데이트

people 
------ 
person 
created_at 
updated_at 

:

이 테이블을 고려하십시오. 나는 다음을 수행하려고 :

$person = new People(); 
$person->person = 'Ed'; 
$person->save(); 

$personUpdate = People::findFirst('person = "Ed"'); 
$personUpdate->person = 'Bob'; 
$person->save(); 

기존 레코드를 업데이트하기보다는, 새로운 레코드를 삽입하려면 어떻게 Phalcon을하려고 끝입니다. 내가 무엇 업데이트가 필요합니다 ... 어디 사람 = '에드';

생각하십니까?

감사합니다. 당신은 제외하고 올바른 일을

답변

1

... People::find

find 모든 데이터를 가져 오기 위해 준비에 ..이 그것의 배열에 Documentation

당신은 대신 findFirst를 사용할 필요가 의미 find

$personUpdate = People::findFirst('person = "Ed"'); 
$personUpdate->person = 'Bob'; 
$person->save(); 
+0

네, 맞습니다. 나는 생각하지 않고 단지 내 머리에서 타이핑하고 있었다. 사실 findFirst를 사용하여 단일 객체를 얻습니다. –

+0

제 대답을 수락하십시오 감사합니다 :) – Raj

+0

문제를 해결하지 못합니다. 죄송합니다. ( 위의 코드를 변경하라고 상기시켜 주셨 기 때문에 대답에 감사드립니다. –

2

다음을 시도해보십시오 ...

<?php 
$personUpdate = People::findFirst('person = "Ed"'); 
$personUpdate->person = 'Bob'; 
$person->update(); 
+0

아, 친구. -> update()를 사용해도 실제로 아무 일도 일어나지 않습니다. (CREATE 나 UPDATE는 없습니다.) nat. key를 업데이트하려고하지 않으면 모든 것이 황금으로 처리됩니다. –

0

$ personUpdate-> update()의 $ person-> update() instea를 사용하고 있습니다.

<?php 
$personUpdate = People::findFirst('person = "Ed"'); 
$personUpdate->person = 'Bob'; 
$person->update();