【问题标题】:CakePHP form that talks to two tables and controllers与两个表和控制器对话的 CakePHP 表单
【发布时间】:2011-09-14 21:51:52
【问题描述】:

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

我该怎么做呢?由于逻辑在两个不同的模型和控制器中,当他们来编辑它时很好,因为它们是单独的位,但是当注册它时,它会如何工作变得模糊:/

有人可以帮忙吗?谢谢

【问题讨论】:

    标签: php cakephp


    【解决方案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/

    【讨论】:

      【解决方案2】:
      $this->ModelName1->save($this->data);
      $this->ModelName2->save($this->data);
      

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

      【讨论】:

        【解决方案3】:

        模型之间的关系很重要。你不说你有没有。如果不是,您应该定义如下关系:

        User hasOne Profile
        Profile belongsTo User
        

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

        干杯

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-06-29
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-01-27
          相关资源
          最近更新 更多