简体   繁体   中英

How to get params in url , and it is array? yii2

I have url like this

http://localhost/belajar4/web/index.php?r=data%2Fsingle&id=2&DataSearch[TANGGAL]=2015-08-04&DataSearch[TANGGAL_SELESAI]=2015-08-12

And I want to get DataSearch['Tanggal'] dan DataSearch[TANGGAL_SELESAI]

I have tried for id with

Yii::$app->request->queryParams['id']

And it was success for it, but not with DataSearch['Tanggal']

When I try for DataSearch['Tanggal'] the error is

Undefined index: DataSearch[TANGGAL]

I think it should have easy to answer but i am newbie for yii2 and i didnt find the solution yet

You can get them from array like this:

Yii::$app->request->queryParams['DataSearch']["TANGGAL_SELESAI"]
Yii::$app->request->queryParams['DataSearch']["TANGGAL"]

You can also use combination of ArrayHelper::getValue() and Yii::$app->request->get() with dot notation:

use Yii;
use yii\helpers\ArrayHelper;


...

$value = ArrayHelper::getValue(Yii::$app->request->get(), 'DataSearch.TANGGAL_SELESAI');

The main advandage is you can avoid Undefined index exception and change default value (third parameter).

Official docs:

I had faced slimier issue & spent lots of time to get the value but somehow I found solution like below.

// Trying to print the value

echo Yii::$app->request->queryParams['DataSearch']['"TANGGAL_SELESAI"'];

echo Yii::$app->request->queryParams['DataSearch']['"TANGGAL"'];

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM