我刚开始学习cakephp3,所以请原谅我有什么不妥。 所以我有一个名为Projects and Events的表,所以关系就像一个项目可以有很多事件。
当用户添加新项目时,他将被重定向到Controller'events'中的'add'事件。
testapp / projects / add - > testapp /活动/添加
默认add.ctp中的代码有一个项目下拉列表,但我希望它是普通的文本字段,其值为刚刚创建的项目而不是下拉列表。
请告诉我怎样才能实现这个目标?
提前致谢
答案 0 :(得分:1)
ProjectsController
的某个地方,你应该像那样
redirect(['action' => 'add', 'controller' => 'Events'])
你应该有一个名为$project
的变量存储一个ProjectEntity
只需将项目ID传递给重定向操作
redirect(['action' => 'add', 'controller' => 'Events', $project->id])
然后在你的EventsController
中,您将读取该值并以此方式将其存储到Event实体
function add($project_id)
{
// Do something
$event = $this->Events->newEntity();
$event->project_id = $project_id;
// do something else
}