URLのパラメーターを必要とするリダイレクト先のページがあります: http://www.example.com/myController/myAction/param1:val1/param2:val2
次のように機能するリダイレクト用のCakePHPリダイレクト関数があることを知っています。
$this->redirect(array("controller" => "myController",
"action" => "myAction",
$data_can_be_passed_here),
$status, $exit);
上記の関数を使用して、URLの一部として必要なパラメーターを追加するにはどうすればよいですか?
param1:val1
とparam2:val2
を渡すことができるように、配列に追加できる別の要素があると思います。
どんな助けも大歓迎です!
CakePHPのドキュメントでこれを見つけることができなかった理由はわかりませんが、最終的に解決策を見つけました。他の誰かが同じ問題を抱えている場合に備えて、ここに投稿しています。 (誰かがこれがドキュメントのどこにあるかを知っているなら、それも投稿してください、ありがとう!)
URLにリダイレクトするには:
http://www.example.com/myController/myAction/param1:val1/param2:val2
次を使用できます。
$this->redirect(array("controller" => "myController", "action" => "myAction", "param1" => "val1", "param2" => "val2", $data_can_be_passed_here), $status, $exit);
それが役に立てば幸い!
パラメータを正確に取得してリダイレクトする必要がある場合は、'?'
インデックスを$url
配列引数に渡します。
$this->redirect(
array(
"controller" => "myController",
"action" => "myAction",
"?" => array(
"param1" => "val1",
"param2" => "val2"
),
$data_can_be_passed_here
),
$status,
$exit
);
/myController/muAction/...?param1=val1¶m2=val2
にリダイレクトします
これは少なくともCakePHP 1.3に当てはまります
代わりに、この形式も使用できます
<?php
$this->redirect('/controller/action/par1:par1/par2:par2/');
?>
<?php
$this->redirect('/controller/action/id/10/name/hello/');
?>
私は通常、次のようなことをします:$this->redirect(['action' => 'view', $id, 'admins' => true]);
それがあなたを助けることを願っています。