Bilişim dünyasına kaliteli, özgün ve Türkçe içerikler kazandırmayı hedefleyen bir platform..

friends friends friends

Yii2 Get Multi Params

https://bilisimkitabi.com/yazilar?kategori=php&kategori=java&kategori=python&yazar=10&yazar=24&yazar=27

Yukarıda ki URL'den gelen değerler alıp bir array(dizi) içine ekleyip sorgu içinde kullanacağız.

public function actionIndex()
{
   
	$kategoriler  = Yii::$app->MyComponents->multiGetValues("kategori");
	$yazarlar	  = Yii::$app->MyComponents->multiGetValues("yazar");
	
	$searchModel = new YazilarSearch();
	$dataProvider = $searchModel->search(Yii::$app->request->queryParams);
	
	$dataProvider->query->joinWith('kategoriler');
	$dataProvider->query->joinWith('yazarlar');
	$dataProvider->query->andFilterWhere(['kategori.kategoriID' => $kategoriler]);
	$dataProvider->query->andFilterWhere(['yazar.yazarID' => $yazarlar]);
	
	return $this->render('index', [
		'searchModel' => $searchModel,
		'dataProvider' => $dataProvider,
	]);

}

Ancak bu işlemler için backend/components içinde multiGetValues adında bir fonksiyon yazmamız gerekecek. Bu fonksiyon URL üzerinden gelen değerleri bir dizi içine ekleyecek ve biz bu diziyi sorgu içinde kullanacağız.

public function multiGetValues($attribute)
{
	$query = $_SERVER['QUERY_STRING'];
	$arr = array();
	if(!empty($query)){
		
		foreach (explode('&', $query) as $pair) {
			list($key, $value) = explode('=', $pair);

			if('' == trim($value)){
				continue;
			}
			if($attribute== $key){
				array_push($arr,urldecode($value));
			}
			
		}
	}

	return $arr;
}
Yii2 Framework Yii2 Get Multi Params Yii2 Türkçe dersler
0 Beğeni
Yii2 Framework
Önceki Yazı

Class 'Html' not found Yii2

20 Kas. 2020 tarihinde yayınlandı.
Sonraki Yazı

Yii2 Framework Enable Debug Toolbar

20 Kas. 2020 tarihinde yayınlandı.
arrow