Kohana 3 ORM извлекает последний идентификатор вставки - PullRequest
2 голосов
/ 15 января 2012

Есть ли способ после вызова -> save () получить последний идентификатор вставки?

Пример кода:

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

Ответы [ 2 ]

4 голосов
/ 15 января 2012

Конечно, предполагая, что ваш код вставки выглядит так:

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

Чтобы получить последний идентификатор вставки, просто сделайте это после вызова ->save()

echo $user->id;

В вашем случае вам нужно будет сделать $user->user_id, как вы назвали свой первичный ключ user_id.

Я бы альтернативно порекомендовал совету biakaveron вместо этого использовать $user->pk(), поскольку он всегда будет возвращать значение первичного ключа независимо от присвоенного ему имени, при условии, что вы указали имя первичного ключа в своем модель с $_primary_key.

Модель будет заполнена сохраненными значениями, готовыми к повторному использованию, если вставка сработала.

Работа выполнена!

1 голос
/ 15 января 2012

Просто позвоните $model->id; - ORM сделает последнее включение идентификатора вставки для вас.

...