CakePHP父/子关联:同时创建记录时的混乱?

CakePHP父/子关联:同时创建记录时的混乱?,php,cakephp,cakephp-model,Php,Cakephp,Cakephp Model,我会尽我最大的努力解释我的情况,希望有人能清楚地帮助我: 我目前有一个“请求”模型。这包括一个web表单和一个控制器,该控制器根据用户在表单上的选择保存一个或多个记录。例如,如果用户在多选择框中进行了一系列选择,则会生成并保存多个记录 这很好,但我希望所有这些“请求”都被分组在一起以便于参考,因为它们是相关的。我创建了一个名为“组”的新模型。在我的“请求”模型中,我将: var $belongsTo = array('Group' => array('className' => 'G

我会尽我最大的努力解释我的情况,希望有人能清楚地帮助我:

我目前有一个“请求”模型。这包括一个web表单和一个控制器,该控制器根据用户在表单上的选择保存一个或多个记录。例如,如果用户在多选择框中进行了一系列选择,则会生成并保存多个记录

这很好,但我希望所有这些“请求”都被分组在一起以便于参考,因为它们是相关的。我创建了一个名为“组”的新模型。在我的“请求”模型中,我将:

var $belongsTo = array('Group' => array('className' => 'Group', 'foreignKey' => 'group_id'));
并在“requests”数据库表中创建了group_id列

在“组”控制器中,我将

var $hasMany = array('Requests' => array('className' => 'Request'));
现在,在我的“请求”控制器中,我在其中完成表单输入的所有处理并创建记录,我尝试使用创建一个新的“组”

$this->Request->Group->create();
这是可行的,“组”数据库记录与“请求”一起创建(视情况而定),但“请求”记录中的“组id”字段设置不正确。当我尝试手动执行此操作时,比如将其设置为$this->Request->data['Group']['id']或$this->Request->Group->id,CakePHP告诉我此值为NULL。因此,我无法知道这些协会是否在发挥作用

显然,我做错了什么-我是否必须将所有创建和保存逻辑从我的“请求”控制器移动到我的“组”控制器?看起来这会很痛苦。从孩子的控制器中同时创建一个家长和一群孩子是否有问题


作为记录,我使用的是CakePHP1.1,不幸的是无法升级

尝试手动将“请求”记录中的“组id”字段设置为$this->Request->group->getLastInsertID


这应该为您提供上次创建的组的ID。

这不是[mysql]的问题,是吗?很抱歉,删除了该标记。这显然返回NULL,因为无法保存“请求”记录,说“group_id”不能为空这很奇怪,因为您提到创建了“group”,所以应该有一个id。也许$this->group->getLastInsertID?如果控制器正在使用组。顺便说一句,也许你应该升级:事实证明,在getLastInsertID之后,我有一些额外的set和save命令,它们把它搞砸了,现在可以工作了:我希望我可以升级,但这是在我公司的共享服务器上,有几十个站点和很多我不完全理解的共享文件业务,所以我不能搞乱ITA,只要它是PHP5.2.8+,你可以升级到cake 2.x,它不会干扰其他网站。