Calling Model Function

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

[quote=“nkhanna”]

Instead of aftersave(), i call this funtion from my controller like this


$model=new question

$model->addActivityextend();

Try this.


$model=new question

$model->unsetAttributes();

$model->addActivityextend();

actually i am sorry i didnt mentioned, i also have this


$model=new question

$model->x=y;

......

.....

$model->addActivityextend();

so it unset all the attributes…

[color="#006400"]NOTE: moved to proper section (General Discussion for Yii 1.1.x instead of Yii-Powered Applications)[/color]