Задать вопрос

Как вытащить id только что добавленной записи?

Здравствуйте. Есть модель и таблица Order. Записываю в неё данные:

$order = new Order();
$order->amount = Goods::model()->findByPk($goods_id)->price;
$order->order_date = Date('Y.m.d');
$order->save();


Далее по коду нужно использовать id этой самой добавленной записи. Обычно просто использовал $order->order_id. По не понятным мне причинам $order->order_id перестал хранить нужный id,т.е. он теперь вообще ничего не хранит.

Какие есть др. способы получения id текущей добавленной записи? И почему, на ваш взгляд, $order->order_id перестал работать?

Спасибо.
  • Вопрос задан
  • 3516 просмотров
Подписаться 4 Оценить Комментировать
Решения вопроса 1
EnChikiben
@EnChikiben
А запись точно добавилась в базу? может ошибка валидации или ошибка sql.
еще посмотрите что возвращает $order->save(), true/false
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
DmitryVoronkov
@DmitryVoronkov
Python Developer
$order->getPrimaryKey();
Но ,у тебя может в этом месте вылетать эксцепшен ,если запись будет не найдена. Лучше так:
$goods = Goods::model()->findByPk($goods_id);
if ( $goods != null) {
    $order = new Order();
    $order->amount = ->$goods->price;
    $order->order_date = Date('Y.m.d');
    $order->save();
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы