2016-06-21 1 views
1

RESTful API를 만들려고하고 있으며 순수한 쿼리를 통해 Phalcon을 통해 MySQL 데이터베이스 행을 업데이트하려고합니다. 하지만 쿼리가 runned Phalcon status->success() 사실로 반환 문제를 실행하지만 내가 db 값을 볼 때 이전과 동일합니다.Phalcon MySQL UDPATE가 작동하지 않습니다.

model->update()을 사용하여 SQL 쿼리를 변경하려고했지만 동일한 문제가 있습니다. country_iduniversity_id은 모두 정수입니다.

아무도 실마리가 없습니까?

내 POST 처리 기능 :

$app->post("/api/user/university/{id:[0-9]+}", function($id) use ($app){ 

    $university_id = $app->request->getPost("university_id"); 

    $country_id = universities::findFirstById($university_id)->country_id; 

    $phpql = "UPDATE users 
       SET university_id=:university_id:, 
        country_id=:country_id: 
       WHERE 
        id=:user_id:"; 

    $status = $app->modelsManager->executeQuery($phpql, array(
     'user_id' => $id, 
     'university_id' => $university_id, 
     'country_id' => $country_id  
    )); 


    $response = new Response(); 

    if($status->success() == true){ 
     $response->setStatusCode(201, "Created"); 


     $response->setJsonContent(
      array(
       'status' => 0 
      ) 
     ); 
    } else { 

     $response->setStatusCode(409, "Conflict"); 

     $errors = array(); 
     foreach ($status->getMessages() as $message) { 
      $errors[] = $message->getMessage(); 
     } 

     $response->setJsonContent(
      array(
       'status' => 'ERROR', 
       'messages' => $errors 
      ) 
     ); 
    } 
    return $response; 
}); 

답변

0

는 PK의 university_id 및 country_id 부분인가? 그렇다면 팔콘은 원숭이 키를 바꾸지 못하게합니다. 이러한 동작이 필요하면 기본 키에서 해당 열을 제거하고 uniquness 유효성 검사기를 사용하십시오.

+0

이것은 나의 멍청한 일에 대해 유감스럽게 생각합니다. – Mrnda