Yii Framework Forum: Не работает save() - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Не работает save() Rate Topic: -----

#1 User is offline   liskar 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 2
  • Joined: 05-July 12

Posted 06 July 2012 - 05:50 AM

Есть модель

$lastVisit = User::model()->notsafe()->findByPk(Yii::app()->user->id);
$lastVisit->lastvisit = date("Y-m-d H:i:s", time());
$lastVisit->save();

Проблема не в валидации.
Не работает метод getPrimaryKey(), он возвращает не значение первичного ключа, а его название.

Если сделать
$lastVisit->updateByPk(15,$lastVisit->getAttributes());
Так сохраняет. 15 это значение первичного ключа.

А если
$lastVisit->updateByPk($lastVisit->getPrimaryKey(),$lastVisit->getAttributes($attributes));
так не сохраняет.Почему????
0

#2 User is offline   liskar 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 2
  • Joined: 05-July 12

Posted 06 July 2012 - 06:05 AM

Пришлось сделать:
$lastVisit = new User;
$lastVisit->updateByPk(Yii::app()->user->id, array('lastvisit'=>date("Y-m-d H:i:s", time())));

Может кто-нибудь объяснит почему предыдущий код не работает?
0

#3 User is offline   yugene 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 408
  • Joined: 08-August 09
  • Location:Ukraine

Posted 06 July 2012 - 10:52 PM

Не понятно, как именно выглядит 'предыдущий код'. Выглядит так, будто вы сначала ищете запись по PK, а потом по PK апдейтите, что излишне, можно либо сразу апдейтить по PK, или делать апдейт уже найденной модели.
e.g.
User::model()->updateByPk();


И если у вас была проблема с именно getPrimaryKey(), уточните, не переопределен ли в вашем классе этот метод, и что именно с ним не так происходит (если действительно возвращает неожиданный результат).
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users