2016-08-07 13 views
0

Ich versuche, Url mit mehreren Parametern mit Url :: to() -Methode zu erstellen, aber es funktioniert nicht Ich versuchte auch UrlManager-> CreatUrl() -Methode, aber kein Glück, ich habe hübsche URL aktivieren und wenn ich nur einen Abfrageparameter verwende, funktioniert es gut, aber wenn ich versuche, mehr hinzuzufügen, habe ich Fehler, unten ist mein Code.Erstellen von URL und Parametern in Yii2

$linkUrl = \Yii::$app->UrlManager->createUrl(['sell/updatecategory', ['draftId'=> $model->draftId,'catid' =>$model->category_id]]); 
<?= Html::button('Change category or product',['value'=>$linkUrl, 'id' => 'StartOver']) ?> 
another try is: 
$linkUrl = Url::to(['sell/updatecategory', ['draftId'=> $model->draftId,'catid' =>$model->category_id]]); 

in den beiden oben genannten Fall die URL Ausgabe immer dies wie folgt aussehen:

GET http://http://192.168.199.128/trobay/products/sell/updatecategory?1%5BdraftId%5D=20&1%5Bcatid%5D=50 

und der Server einen Fehler aus, kann die URL nicht auflösen kann, was ich will, ist so etwas wie dieses:

GET http://http://192.168.199.128/trobay/products/sell/updatecategory?draftId=20&catid=50 

Das System fügte einige Zeichen hinzu, die ich vermute, ist die Ursache des Problems, aber weiß nicht wirklich, wie man das entfernt. i hot jemand konnte mit diesem Dank helfen

Antwort

0

Verwenden Sie nicht geschachtelte Array für Parameter. Struktur sollte wie folgt aussehen:

[0 => route, param1 => value1, param2 => value2, ...] 

so in Ihrem Fall

$linkUrl = Url::to([ 
    'sell/updatecategory', 
    'draftId' => $model->draftId, 
    'catid' => $model->category_id 
]); 
+0

diese Arbeit wie erwartet dank – sam