2012-01-14 2 views
2

마지막 삽입 ID를 얻기 위해 -> save() 호출 후 방법이 있습니까?Kohana 3 ORM 마지막 삽입 ID 검색

예제 코드 :

$post_data = $_POST; 
$user = ORM::factory('user'); 
$user->username = $post_data['username']; 
$user->email = $post_data['email']; 
$user->save(); 

답변

4

이처럼 보였다 $user->user_id의 기본 키 이름을 user_id으로 지정하십시오.

$_primary_key으로 모델의 기본 키 이름을 지정하면 항상 부여 된 이름에 관계없이 기본 키의 값을 반환하므로대신 biakaveron의 조언을 대신 사용하는 것이 좋습니다.

삽입물이 작동하면 모델에 저장된 값이 재사용 될 수 있도록 채워집니다.

작업 완료!

+0

내 질문이 업데이트되었습니다 ... $ user-> id로 인해 오류가 발생합니다. ** id 속성은 Model_User 클래스 ** 에 없습니다. 하지만'$ user-> pk()'를 호출하여 마지막 삽입 ID를 얻을 수 있습니다. – 12Bo

+0

사용자 테이블에 'id'라는 기본 키가 있습니까? –

+0

내 모델 사용자 테이블 : 'Class Model_User extends ORM { 보호 된 $ _primary_key = 'user_id'; }' – 12Bo

1

그냥 $model->id; 전화 - ORM 당신을 위해 마지막으로 삽입 아이디를 포함 할 것입니다.

$user = ORM::factory('user')->values($post)->save(); 

마지막 삽입 ID를 얻으려면 단순히 당신이 필요 귀하의 경우에는 ->save()

echo $user->id; 

호출 한 후 다음을 수행하여 삽입 코드를 가정 물론