Mengirim variable antar action

gan gini ane punya 2 action satu action bikinan satu action create,nah ane punya pertanyaan,gimana biar si action bikinan ini jalan duluan sebelum create?dan apa yang dihitung di action bikinan tuh bisa dipake di action create?

controller ane kayak gini





public function actionCountSubsidy()

	{

		

		$criteria = new CDbCriteria;

		$criteria->addCondition("YEAR(register_date)='".date('Y')."'");

		$criteria->addCondition('YEAR(register_date)='.date('Y'));

		$criteria->addCondition('status_head_office=1 and status_province=1 and status_regency=1');

		$data=LksaDataHeader::model()->findAll($criteria);

		//$jumlah=count($data);

		//var_dump($jumlah);die();

		$jumlahAnak=0;

		$jumlahAnakKabupaten=0;

		$jumlahAnakProvinsi=0;

		$jumlahAnakPusat=0;

		foreach ($data as $data)

		{

			$jumlahAnak=$jumlahAnak+$data->child_lksa;

			$jumlahAnakKabupaten=$jumlahAnakKabupaten+$data->child_regency;

			$jumlahAnakProvinsi=$jumlahAnakProvinsi+$data->child_province;

			$jumlahAnakPusat=$jumlahAnakPusat+$data->child_head_office;




		}

		

	}

fungsi create nya masih normal <img src='http://www.yiiframework.com/forum/public/style_emoticons/default/biggrin.gif' class='bbc_emoticon' alt=':D' />



nah bgaimana caranya juga biar apa yang udah dihitung diatas bisa masuk ke textfield di form?+gak bisa diubah :)

mohon bantuannya agan2,

Saya rasa tidak perlu buat action gan. Bikin fungsi biasa di controller trus panggil. Nah yang harus action itu cuman actionCreate(), yang satu lagi cukup kasi nama gini saja:


private function countSubsidy()

	{

		

		$criteria = new CDbCriteria;

		$criteria->addCondition("YEAR(register_date)='".date('Y')."'");

		$criteria->addCondition('YEAR(register_date)='.date('Y'));

		$criteria->addCondition('status_head_office=1 and status_province=1 and status_regency=1');

		$data=LksaDataHeader::model()->findAll($criteria);

		//$jumlah=count($data);

		//var_dump($jumlah);die();

		$jumlahAnak=0;

		$jumlahAnakKabupaten=0;

		$jumlahAnakProvinsi=0;

		$jumlahAnakPusat=0;

		foreach ($data as $data)

		{

			$jumlahAnak=$jumlahAnak+$data->child_lksa;

			$jumlahAnakKabupaten=$jumlahAnakKabupaten+$data->child_regency;

			$jumlahAnakProvinsi=$jumlahAnakProvinsi+$data->child_province;

		}

                ...

                //return subsidy

                return $subsidy;

		

	}


        public function actionCreate()

        {

            ...

            $countSubsidy = $this->countSubsidy();

            ....

        }



hooo ntar return subsidynya bentuknya array ya?

kalau mau nampilin hasil itu di form gan?

jadi misal jumlahAnak nya 5

jadi di form mau ditampilin di textField yg tipenya readonly 5 :D

tadi udah nyoba naro actionnya di model,jadi klo mau akses LksaDataHeader::model()->countSubsidy();

lebih efisienan mana ya?

Sejujurnya ane gak yakin fungsi countSubsidy() agan itu mau return apa…

agan lihat coding ane tuh $subsidy tiba2 muncul begitu saja, itu karena ane gak tau agan mau nge-return apa, jadi sembarang tulis variable. Tetapi kalau memang mau return array, yah bisa-bisa saja…

Kalau ane pribadi lebih mendukung agan taruh fungsi countSubsidy() ke Model. Karena selain bisa diakses di tempat lain, fungsi countSubsidy() kurang berhubungan dengan aktivitas Controller sendiri.

Betul gan… Ane stuju dengan agan junxiong, ane sendiri juga seperti itu. lebih banyak buat fungsi di model

Betul skali… tertib konsep MVC aja… hehe…