【问题标题】:CakePHP, Post to two URLs with one clickCakePHP,一键发布到两个网址
【发布时间】:2012-08-15 06:59:11
【问题描述】:

我想知道我是否可以通过单击一个按钮来发布到两个不同的 URL? 我想要完成的是为我的朋友制作一个生日网站。人们可以到现场写一些关于他的事情。为了使事情井井有条,我制作了两个模型,用户和消息。现在,如果能够提供一个包含用户数据(姓名和电子邮件)和消息(描述)并更新两个表的表单,我正在尝试完成什么。提前致谢。

我也愿意用 javascript 做事!但是我没有研究过任何这样的javascript,所以如果可以使用javascript,也请提供明确的说明。谢谢!

【问题讨论】:

  • 为什么不从一个控制器更新两个模型?
  • 我还在学习阶段,不知道是否可行。我应该创建一个新的控制器,比如 FormsController 来处理这项工作吗?
  • 是的。模型独立于控制器。不久前我使用了 Cake,但我认为他们的名字 sheme 意味着每个控制器都属于一个模型。但是您也可以在控制器中使用其他模型。
  • 请告诉我如何回答,我会接受。谢谢!

标签: php javascript jquery cakephp http-post


【解决方案1】:

你可以在其他控制器中使用模型,在控制器uses数组上定义它

class controller extends AppController {

  public $uses = array('Model1', 'Model2');

  public function doSomething() {

       debug($this->Model1);
       debug($this->Model2);

  }

}

或者如果模型是相关的,最好通过关系像

 $this->Model1->Model2->save(); 

您应该阅读文档model asociations 以了解基本模型的工作原理。

要回答您的问题如何调用另一个网址,有requestAction,但请谨慎使用,因为它需要一直通过引导过程,所以速度很慢。

【讨论】:

    【解决方案2】:

    使用单个表单,包含两个模型的数据,并使用$this->User->saveAssociated($this->request->data)

    一键保存用户和消息数据,无需提交2次。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-04
      • 1970-01-01
      • 2013-05-04
      • 1970-01-01
      相关资源
      最近更新 更多