2016-06-17 1 views
0

phalcon 프레임 워크를 처음 사용했습니다. 팔콘 모델 업데이트 방법에서 데이터를 업데이트하고 싶습니다.php phalcon phql update

$의 SQL = "UPDATE table SET col1 = '1', col2 = NULL WHERE 1";

> $all = model::findFirst(); 
>     $all->col1 = '1'; 
>     $all->col2= NULL; 
>     $all->update(); 

에 나는 "여기서 1"에 대해 아무 생각이 없습니다.

+0

'WHERE 1'로 무엇을 의미합니까? 여기에 칼럼이 없습니까? 'WHERE col1 = 1'? – Timothy

+0

@Timothy – illusionist

답변

-1

이것은 무엇입니까 WHERE 1? WHERE id = 1을 의미합니까? 그런 다음 필요합니다 :

$all = model::findFirst(1); 
$all->col1 = '1'; 
$all->col2= NULL; 
$all->update(); 
+1

id가 데이터베이스의 PK (기본 키)인지 선택합니다. findFirst에 정수 값을 건네 주면 팔콘이 PK를 찾는다는 것을 의미합니다. 발견하면 팔레트의 이름을 얻고 통과 한 값을 찾습니다. – Juri

+0

테이블에 기본 키가 없습니다. – illusionist

+0

그러면 findFirstByCol1 또는 뭔가를 사용해야합니다. 아니면 PR을 만드십시오. 또한 내가 알고있는 팔콘은 홍보가있을 때까지는 아무 것도 업데이트하지 않습니다. – Juri

0

모델을 업데이트하기 전에 데이터베이스에서 요청해야합니다.
다음 예제에서는 열 col1의 값이 123 인 첫 번째 레코드를 쿼리합니다. 유사한 쿼리에 위의 코드를 변환합니다 배경 Phalcon에서

$all = model::findFirst(['col1 = 123']); 
// you can also write this like 
$all = model::findFirstByCol1(123); 

: 모델

SELECT * WHERE COL1 = 123 LIMIT 1;

이제 $all를 통해 모델에 액세스 할 수 있는지, 당신은 변경할 수 있습니다 그 속성 :

$all->update(); // or $all->save(); 
:

$all->col2 = null; 

당신이 $all을 변경 할 경우, 당신은 데이터베이스의 값을 업데이트 할 수 있습니다

모델 작업에 대한 추가 도움말이 필요하면 Phalcon documentation을 참조하십시오.