我坚持如何通过父表单保存BelongsToMany / Through关联。
我有一个通过ProjectCharacters属于ToMany角色的ProjectsTable。 我有一个通过ProjectCharacters属于ToMany Projects的CharactersTable。
我的项目/编辑/#页面包含常规项目/编辑表单后的第二个表单,如下所示:
<?= $this->Form->create($project_character); ?>
<?php
echo $this->Form->input('character_id', ['options' => $character_options]);
echo $this->Form->hidden('project_id', ['value' => $project['id']]);
?>
<?= $this->Form->button(__('Add Character')) ?>
<?= $this->Form->end() ?>
这只是我想在ProjectCharacters中创建新记录的项目ID和字符ID。但是当我按下保存时,我收到以下错误:
Record not found in table "projects" with primary key [NULL]
通过此表单保存ProjectCharacter关联需要做什么?
答案 0 :(得分:1)
我会说你的问题在这里:
https://gist.github.com/sarahkeefe/a42d39efade836a675c8#file-projectscontroller-php-L156
您正在尝试验证项目的所有权以获取未接收任何参数的操作(添加功能)。您需要有条件地执行该代码,或始终允许对您的用户执行add()
操作。
将来,您可以查看错误页面,它有一个堆栈跟踪,这是在错误发生之前调用的函数列表。它们通常表示可以找到错误的位置。