2013-03-01 134 views
0

我有模型的PatientCase和Procedure。一个案例可以有一个/多个程序。CakePHP所属关系不保存

class PatientCase extends AppModel { 
    public $hasMany = 'Procedure'; 
} 

class Procedure extends AppModel { 
    public $belongsTo = array(
      'PatientCase'  => array(
       'className'  => 'PatientCase' 
      ) 
     ); 
} 

我明确地在我patientCasesController

$this->request->data["Procedure"]["side"] = 'left'; 

当我白水我patientCase设定的值,案件正确保存,和一个新的记录被保存在程序表,与相应的patientCase id,但是,没有其他数据保存在记录中。

任何人都可以看到我要去哪里错了吗?

+0

你可以分享你节约的代码吗? – 2013-03-01 16:04:05

+1

$ this-> PatientCase-> saveAll($ this-> request-> data) – user195257 2013-03-01 16:23:44

回答

1

你的评论钉了它 - save()只保存主模型,而saveAll()保存主模型和任何相关模型。

save()[details]

saveAll()[details]

更新:

因为它的 “的hasMany”,你可能想:

$this->request->data["Procedure"][0]["side"] = 'left'; 

(注意[0]

+0

确实如此,但它不会将数据保存到过程表中,只是一个带有patientcaseid且没有其他数据的空记录? – user195257 2013-03-04 09:19:17

+0

Thankyou,这解决了它,我没有意识到它正在期待一系列的数据(现在看起来很明显) – user195257 2013-03-05 17:21:23

+0

np - 很高兴帮助! – Dave 2013-03-05 17:41:03