hi all
i Have a model question.php
it has a method
public function addActivity()
{
$subscribers = $this->getSubscribers();
foreach($subscribers as $id)
{
$n = new Activity();
$n->parentType = Activity::model()->parents['Question'];
$n->parentId = $this->id;
$n->userId = $id;
$n->sourceId = Yii::app()->user->id;
$n->activityType = Activity::model()->activities['post'];
$n->save();
$user = User::model()->findByPk($id);
if($id!=Yii::app()->user->id)
$user->notificationsCount=$user->notificationsCount+1;
$user->save();
}
}
this is aftersave()
protected function afterSave()
{
parent::afterSave();
Tag::model()->updateFrequency($this->_oldTags, $this->tags, 'question');
if($this->isNewRecord)
{
$this->addActivity();
}
}
This works fine.
But what i want to do now is to call addActivity() from another function from same model
public function addActivityextend()
{
if($this->isNewRecord)
{
$this->addActivity();
}
}
Instead of aftersave(), i call this funtion from my controller like this
$model=new question
$model->x=y;
......
.....
$model->addActivityextend();
But it doesnot work.Activity table is not populated in this case.
but if i call directly
$model->addActivity();
It works then.
What am i missing??
Thankyou in advance