Php 保存新的1:n关系

Php 保存新的1:n关系,php,lithium,Php,Lithium,我有一个型号为RecordHeader的记录头 RecordHeader(id主键、entryDate日期时间、全名文本) 我有一个型号为RecordDetails 记录详细信息(id主键、headerID外键、答案文本) 我的RecordHeader定义了一个关系: public $hasMany = array('RecordDetails' => array( 'from' => 'RecordHeaders', 'to' => 'RecordDetail

我有一个型号为RecordHeader的记录头
RecordHeader(id主键、entryDate日期时间、全名文本)

我有一个型号为RecordDetails
记录详细信息(id主键、headerID外键、答案文本)

我的RecordHeader定义了一个关系:

public $hasMany = array('RecordDetails' => array(
    'from' => 'RecordHeaders',
    'to' => 'RecordDetails',
    'key' => array('id' => 'headerID'),
    'fieldName' => 'details'
));
我用一个“id”隐藏字段、一个“headerID”隐藏字段、一个带有任意名称的“fullName”文本字段(“xyz789”)和一个“answer”文本字段保存视图,并将其放入一些任意数据(“abc123”)中

如果id和headerID为空,则我的控制器会将其去掉,这将出现在一系列新问题的开头,并填写entryDate

$record = RecordHeaders::create($this->request->data);
$record->save();
我在RecordHeader中有数据,但在RecordDetails中没有任何数据。
记录头(1,“2012-03-30 12:40”,“xyz789”)
RecordDetails表为空

当我在RecordHeaders::create()上检查请求时,该请求确实包含“答案”abc123


我是否做错了什么,或者如果RecordHeader已经在数据库中,我只能保存RecordDetails,并且我调用了对RecordDetails对象的保存?

请显示您提交的数据数组。@MehdiLahmamB。我不知道你所说的提交的数据数组是什么意思,你是指请求中的数据数组吗?如果你是这个意思的话,我会在视图字段中输入。我想你的最后一个问题就是这样。从查看Model::create(和Model::save)可以看出,Limition不会为您自动保存嵌套模型。您需要先保存标题,然后保存详细信息。当然,您可以使用“with”将它们一起选择。