如何在cakephp3的子控制器中传递父id的值
How to pass value of parent id in child controller in cakephp3
刚开始学习cakephp3,有什么不对的地方还请见谅。
所以我有一个 table 叫做项目和事件,所以它们之间的关系就像一个项目可以有很多事件。
当用户添加新项目时,他将被重定向到 Controller 'events ' 中的 'add' 事件。
testapp/projects/add --> testapp/events/add
默认 add.ctp 中的代码有一个项目下拉列表,但我希望它是普通文本字段,其值是刚刚创建的项目而不是下拉列表。
请告诉我怎样才能做到这一点?
提前致谢
在你的 ProjectsController
的某个地方你应该有类似
的东西
redirect(['action' => 'add', 'controller' => 'Events'])
你应该有一个名为 $project
的变量存储一个 ProjectEntity
只需将项目 ID 传递给重定向操作
redirect(['action' => 'add', 'controller' => 'Events', $project->id])
然后在您的 EventsController
中,您将读取该值并以这种方式将其存储到事件实体中
function add($project_id)
{
// Do something
$event = $this->Events->newEntity();
$event->project_id = $project_id;
// do something else
}
刚开始学习cakephp3,有什么不对的地方还请见谅。 所以我有一个 table 叫做项目和事件,所以它们之间的关系就像一个项目可以有很多事件。
当用户添加新项目时,他将被重定向到 Controller 'events ' 中的 'add' 事件。
testapp/projects/add --> testapp/events/add
默认 add.ctp 中的代码有一个项目下拉列表,但我希望它是普通文本字段,其值是刚刚创建的项目而不是下拉列表。
请告诉我怎样才能做到这一点?
提前致谢
在你的 ProjectsController
的某个地方你应该有类似
redirect(['action' => 'add', 'controller' => 'Events'])
你应该有一个名为 $project
的变量存储一个 ProjectEntity
只需将项目 ID 传递给重定向操作
redirect(['action' => 'add', 'controller' => 'Events', $project->id])
然后在您的 EventsController
中,您将读取该值并以这种方式将其存储到事件实体中
function add($project_id)
{
// Do something
$event = $this->Events->newEntity();
$event->project_id = $project_id;
// do something else
}