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
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();
....
}
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.