由于客户希望拥有违反Cake逻辑的URL,我决定使用从cake/libs复制的pages_controller.php来组织我的应用。 该网站的大部分功能都发生在一个使用ajax调用不同控制器的url上,因此我选择了Pages作为主页。模型导入到控制器后,cakePHP模型关联丢失
页面没有模型,但我仍然需要访问一些相关模型,以便导入它们。
我已经尝试了所有三种方法:
$this->loadModel('Inventories');
----
$Inventories =& ClassRegistry::init('Inventories');
----
App::import('Controller', 'Inventories');
$Inventories = new InventoriesController;
存货模型似乎负荷罚款与各可是当我找到一些记录:
$(...)->find("all", array(
'conditions' => array('id' => '1'),
'recursive'=>2)
);
我只得到结果,如果递归已经设置为-1或好像没有关联的模型。 无论我设置什么递归,都会发生这种情况。 当我在另一个控制器中加载模型时,我得到了适当的递归响应。
任何想法如何我可以从pages_controller.php完全访问模型?
是,使用$使用的是正确的方式。这是推荐的方式,不是不好的做法!虽然创建使用gadzillion模型和组件的胖控制器是一个不好的做法。每个控制者应该有一个明确的目标,一个明确的和短的行动,没有什么会失去控制。 – sibidiba
@Sibidiba - 如果您阅读OP对问题的描述,他会使用Pages控制器明确地为其路由器显示客户希望的任何url,这意味着他将其用作访问众多模型的超级控制器。在Cake中这是一个棘手的情况,尽管$使用起来并且至少现在会解决他的问题,请参阅http://book.cakephp.org/view/961/components-helpers-and-uses。 – OpenSorceress