如何在cakephp中保存继承的对象

时间:2012-06-14 10:07:30

标签: cakephp cakephp-2.1

我在cakephp中实现了继承。我有两个模型Person和Employee。员工继承人

Person: id, name, age, address
Employee: id, person_id

当我 $ this-> Employee-> savAll($ this-> request-> data)时,Person和Employee正在保存,但 person_id没有获取在数据库中设置,它被NULL填充,有没有办法一次性正确保存继承的对象,模型如下所示

Class Person extends AppModel{
 var $name="Person";
}

App::import('model', 'Person')
Class Employee extends Person{
  var $name="Employee";
  public $actsAs = array( 'Inherit' ); 
}

1 个答案:

答案 0 :(得分:0)

来自Saving Your Data文档,

  

saveAll函数只是saveMany和saveAssociated方法的包装器

您既不会保存一个模型,也不会保存相关模型。您需要保存父模型,检索ID,并使用它来保存继承模型。