保存后是否可以使用CakePHP关联模型?

保存后是否可以使用CakePHP关联模型?,cakephp,Cakephp,编辑,为了更清楚,我正在重写这个问题 我有一个“配置文件”模型,它与“用户”模型有一个归属关系 某个用户已经存在。后来他创建了一个配置文件。概要文件控制器负责创建一个新条目,但随后需要作为关联用户的一部分更新概要文件id字段。我的印象是saveAll可以处理所有的协会,但它不起作用 最简单的/CakePHP标准方法是什么?谢谢 用户表中不应该有配置文件id字段,配置文件表中应该有用户id字段(外键类似于hasMany关系)。我很惊讶这个应用程序还能工作 而且,我通常没有一段感情。如果用户只有一个

编辑,为了更清楚,我正在重写这个问题

我有一个“配置文件”模型,它与“用户”模型有一个归属关系

某个用户已经存在。后来他创建了一个配置文件。概要文件控制器负责创建一个新条目,但随后需要作为关联用户的一部分更新概要文件id字段。我的印象是saveAll可以处理所有的协会,但它不起作用


最简单的/CakePHP标准方法是什么?谢谢

用户表中不应该有配置文件id字段,配置文件表中应该有用户id字段(外键类似于hasMany关系)。我很惊讶这个应用程序还能工作

而且,我通常没有一段感情。如果用户只有一个概要文件,那么只需将概要文件表中的所有字段包含到用户表中,除非有理由不这样做。不过,这也是我的偏好。

saveAll()创建新记录。因此,您不能使用它来更新Users表中已经存在的记录。正如Anh Pham已经提到的,你的联想错了。配置文件属于用户,用户有一个配置文件。通过在用户表中有一个profile_id字段,您的做法正好相反

因此,从Users表中删除profile_id字段,将user_id字段添加到Profiles表中,并在user.php&profile.php中更新模型关联


要为现有用户保存新的配置文件,您可以查询当前用户的用户id,或者例如通过Auth检索,并在调用配置文件方法的save()方法之前将其手动添加到$this->data中。

您的问题不是很清楚。你想做什么?通过save()创建一个模型后,我想立即保存关联模型的属性是的,你可以这样做,你只需要你想修改的记录的id。抱歉,我知道这个问题的措辞很糟糕。为了(希望)更清晰,重写了整件事