Noobs To be Pro Addict
Noobs To be Pro Addict

Reputation: 395

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

Upvotes: 4

Views: 13001

Answers (3)

Priy Ranjan
Priy Ranjan

Reputation: 119

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"'];

Upvotes: -1

arogachev
arogachev

Reputation: 33538

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:

Upvotes: 3

Jakuje
Jakuje

Reputation: 25936

You can get them from array like this:

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

Upvotes: 6

Related Questions