Ich versuche, eine GET-Variable zugreifen, die in config/routes.php
definiert ist, mit dem Namen des Platzhalters in der Route. Im folgenden Beispiel versuche ich, :school_id
= $id
in der Steuerung zu setzen.CakePHP 3.x Übergeben Route GET Parameter Name zu Controller
Routen Code config/routes.php
:
Router::connect('/schools/:school_id/students', [
'controller' => 'Schools',
'action'=> 'index'
]);
Controller-Code src/Controller/SchoolsController.php
:
public function index(){
$id = $this->request->params['pass']['school_id'];
};
In diesem Fall $this->request->params['pass']['school_id'];
nicht gesetzt ist. Der Wert :school_id
wird angezeigt, wenn ich stattdessen $this->request->params['pass'][0];
schreibe.
Gibt es eine Möglichkeit, auf den URL-Wert zuzugreifen, der an der Stelle :school_id
sein soll, indem er seinen Namen statt 0
verwendet? Mit anderen Worten, kann ich es mit dem benannten Schlüssel referenzieren, den ich in der Datei routes.php definiert habe?
Ich habe versucht, '$ this-> request-> param ('school_id')' und es gibt nichts zurück. Wenn ich 'getParam()' versuche, heißt es, dass die Methode nicht existiert. Ich bin auf Kuchen Version 3.3.15. – cwarne