Почему Url::to возвращает значение массива rules, а не ключ?
'rules' => [
'wow/<id:\d+>' => 'site/view',
],
в классе actionView:
var_dump(Url::to(['site/view']));
В итоге возвращает site/view; Как получить ключ массива, а не значение?
Ответы (2 шт):
Автор решения: fedornabilkin
→ Ссылка
Вопрос, конечно странный, но если надо получить ключ массива по значению, то сделать это можно так.
$rules = [
'wow/<id:\d+>' => 'site/view',
];
$key = array_search('site/view', $rules);
echo $key;
Автор решения: zabachok
→ Ссылка
Полагаю, что вы хотите сгенерировать адрес страницы и получить что-то вроде /wow/1. Если так, то вы забываете добавить параметр с идентификатором.
Url::to(['site/view', 'id' => 1])
Такой вызов даст в результате строку /wow/1 или /index.php?r=site/view&id=1, если у вас отключены ЧТУ.