CakePHP表单与两个表和控制器对话

时间:2011-09-14 21:51:52

标签: php cakephp

在我的应用程序中,我有一个用户控制器和一个配置文件控制器,每个都有表格和模型。当用户注册帐户时,他们将同时创建用户帐户和个人资料。所以他们将数据保存到两个表格中!

虽然如何做到这一点?由于逻辑是在两个不同的模型和控制器中,当它们来编辑时很好,因为它们是单独的位但是在注册时它会变得多云以至于它将如何工作:/

有人可以帮忙吗?感谢

3 个答案:

答案 0 :(得分:1)

您可以使用saveAll()而不是save()。这将允许您保存模型(例如用户)及其相关模型(配置文件)。

官方文档中的一个很好的简单描述:http://book.cakephp.org/view/1032/Saving-Related-Model-Data-hasOne-hasMany-belongsTo

这篇博文也很旧但值得一读,所以你明白了。 http://nuts-and-bolts-of-cakephp.com/2008/08/01/practical-use-of-saveall-part-1-working-with-multiple-models/

答案 1 :(得分:0)

$this->ModelName1->save($this->data);
$this->ModelName2->save($this->data);

只要正确创建了数据变量,模型就应该正确保存它^ _ ^

答案 2 :(得分:0)

在模型之间建立关系很重要。你没有说你是否拥有它们。如果没有,您应该定义关系,例如:

User hasOne Profile
Profile belongsTo User

这将允许您从另一个模型访问一个模型,反之亦然。根据boobyWomack的建议,您应该查看this link,其中提供了saveAll方法的示例。

干杯