使用相同的模型在不同的控制器CakePHP的
问题描述:
我刚开始介绍CakePHP阅读起来,一切都很不错,到目前为止,虽然我的最佳方式查询执行以下操作:使用相同的模型在不同的控制器CakePHP的
我有一个“用户”模型和“UsersController”控制器。
我目前有一个由home_controller.php(显然)控制的“home”页面。主页包含用户注册。
问题
当窗体从主页上公布,我需要访问的用户模型(从主控制器)。
此任务的最佳做法是什么?
答
如果我正确理解了这种情况,我会将表单发布到用户控制器中的某些功能。然后这个函数会保存数据,或者登录,或者其他什么。例如,最后重定向回家。
答
I currently have a "home" page which is controlled by the home_controller.php (obviously)
你还有什么其他方法在home_controller中,而不是索引?在Cake的约定中,控制器是复数形式,所以:用户,类别......最有可能的是,您并不知道Cake中的pages_controller和路由。
无论如何,是的,您可以从任何页面向任何控制器(甚至是另一个域)发布信息,就像任何常规的HTML页面一样。 echo $this->Form->create('User', array('controller'=>'users','action' => 'register'));
你可以在这里阅读更多:http://book.cakephp.org/view/1384/Creating-Forms
答
您可以轻松地在多台控制器
var $uses = array('ModelName');
共享一个模式,我做到这一点与用户模型和
- 帐户控制(登录,注册,.. )
- 成员控制器(搜索,列表,配置文件,...)
- 概述控制器(起始页,主页,...)
例如。他们都共享用户模型。
是否有可能从主页发布到用户控制器?因为用户控制器与主页没有任何关系 – GaryDevenay
这不是一个正确的语法,但它是这样的:'$ this-> Form-> create(null,array(url => array(' ''')');' – Henri
看起来像$ this - > Form - > create(null,array('url','/ user/register'))工程!谢谢! – GaryDevenay