Para master2 semua…Mohon bantuannya
Ane Punya beberapa Query ke 1 tabel… kemudian Ane buat Methode sebagai berikut
public function getWilayah($key)
{
$kel_cd = $key;
$kec_cd = substr($kel_cd,0,7)."000";
$kab_cd = substr($kel_cd,0,4)."000000";
$prop_cd = substr($kel_cd,0,2)."00000000";
$kel_nm = Regional::model()->findAll(array(
'condition'=>'regional_cd=:key',
'params'=>array(
':key'=>$kel_cd,
),
));
$kec_nm = Regional::model()->findAll(array(
'condition'=>'regional_cd=:key',
'params'=>array(
':key'=>$kec_cd,
),
));
$kab_nm = Regional::model()->findAll(array(
'condition'=>'regional_cd=:key',
'params'=>array(
':key'=>$kab_cd,
),
));
$prop_nm = Regional::model()->findAll(array(
'condition'=>'regional_cd=:key',
'params'=>array(
':key'=>$prop_cd,
),
));
$wilayah='';
foreach($kel_nm as $kel)
{
if($kel->getAttribute('pro_cd') > 0){
foreach($prop_nm as $prop)
{
$wilayah .= $prop->getAttribute('regional_nm').' /';
}
}
if($kel->getAttribute('kab_cd') > 0){
foreach($kab_nm as $kab)
{
$wilayah .=$kab->getAttribute('regional_nm').' /';
}
}
if($kel->getAttribute('kec_cd') > 0){
foreach($kec_nm as $kec)
{
$wilayah .=$kec->getAttribute('regional_nm').' /';
}
}
if($kel->getAttribute('kel_cd') > 0){
foreach($kel_nm as $kel)
{
$wilayah .=$kel->getAttribute('regional_nm');
}
}
$wilayah."<br>";
}
return $wilayah;
}
Apabila Ane panggil Action itu hasilnya lama banget…
public function actionSuggestRegional()
{
if(Yii::app()->request->isAjaxRequest && isset($_GET['q']))
{
/* q is the default GET variable name that is used by
/ the autocomplete widget to pass in user input
*/
$name = $_GET['q'];
// this was set with the "max" attribute of the CAutoComplete widget
$limit = 50; //min($_GET['limit'], 50);
$criteria = new CDbCriteria;
$criteria->condition = "regional_nm LIKE :sterm";
$criteria->params = array(":sterm"=>"%$name%");
$criteria->limit = $limit;
$userArray = Regional::model()->findAll($criteria);
$returnVal = '';
foreach($userArray as $userAccount)
{
// get wilyah ngambil nialai wilayah di method diatas..
$returnVal .= $this->getWilayah($userAccount->getAttribute('regional_cd')).'|'.$userAccount->getAttribute('regional_cd')."\n";
}
echo $returnVal;
}
}
Nah Struktur dari tabel ada di gambar terlampir… Mohon dari Para Master masukannya… sebaiknya gimana Ane hrus buat kode agar lebih cepat Aksesnya… kemudian cara manggilnya bagaimana…
Terimakasih banyak sebalumnya…