Как я могу получить доступ к параметру, отправленному через URL-адрес в моих файлах просмотра в CakePHP?

StackOverflow https://stackoverflow.com/questions/234949

  •  04-07-2019
  •  | 
  •  

Вопрос

Я новичок в CakePHP, но безрезультатно просматривал их часто задаваемые вопросы и руководства.Это настолько просто, что я просто не могу здраво мыслить:

Как я могу получить доступ к параметру, отправленному через URL-адрес в моих файлах представления?

Пример: http://example.com/view/6

Как мне взять этот параметр («6») и пропустить его через контроллер на другую страницу просмотра?

Если это слишком сложно для быстрого ответа, как я могу сослаться на цифру 6 на самой странице просмотра?6 в этой ситуации — это значение «Id» в моей базе данных, и мне нужно установить его как «родительский» —

Спасибо

Это было полезно?

Решение

URL-адрес в том виде, в каком он у вас есть, будет вызывать метод 6() вашего ViewController, который не является допустимым именем метода.Возможно, вам придется поиграть со своими маршрутами, чтобы это заработало.

Если вы не хотите настраивать свои маршруты, вам понадобится контроллер в URL-адресе, например:

http://example.com/thinger/view/6

который позвонит thingerControllerObject->view("6").Если вы хотите, чтобы «/view/» перешел к другому методу, отредактируйте маршруты.Видеть:

Другие советы

Параметры можно получить следующим образом

$this->params['pass']

Возвращает массив (индексированный в цифрах) параметров URL-адреса после действия.

// URL: /posts/view/12/print/narrow
Array
(
    [0] => 12
    [1] => print
    [2] => narrow
)

Чтобы получить доступ к параметру в вашем вид заглянуть $this->params

Используйте приведенный ниже код в файле представления:

$url=Router::url($this->here, true);
$url_arr=explode("/",$url);

Чтобы просмотреть содержимое $url был взорван, просто распечатайте его с помощью pr(), как показано ниже:

pr($url_arr);

Он напечатает ассоциативный массив, поэтому вы можете получить доступ к любому конкретному количеству параметров, отправленных через URL.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top