Cakephp 2从视图中调用模型函数

时间:2012-11-15 11:35:03

标签: cakephp cakephp-2.1

是否可以直接从Cakephp 2中的视图调用模型函数? 我知道我可以从控制器调用它并将值设置为视图,但如果我可以在视图中调用它,那就更好了......

由于

3 个答案:

答案 0 :(得分:6)

可以在Controller中使用View in same:

    App::import('Model', 'Department');
    $this->Department = new Department();
    $users = $this->Department->getUserOfDepartment($id);

答案 1 :(得分:5)

不,它违背了框架和核心MVC原则的全部要点。

就是不要这样做。

答案 2 :(得分:-1)

只是为了延伸@DavidYell的答案。 直接从View调用模型实际上是反对“框架和核心MVC原则的全部要点”,但如果您需要视图中的动态数据,则只需通过对Controller的AJAX调用来获取数据。 “模式”如下:

  1. 向Controller初始化一个AJAX请求(比如说fetchData()方法。)
  2. 在该方法中处理请求:
    • 验证
    • 将布局设置为“ajax”(您必须创建它)
  3. 通过Controller的调用从模型中获取所需的数据:

    $这 - > UsedModel->发现();

  4. 通过呈现(例如)JSON响应将刚刚提取的数据返回到视图

  5. 现在,数据将在视图中显示,您将继续使用“良好做法”。实际上在视图中暴露任何模型是非常非常糟糕的。请不要这样做,或切换到.NET ..:D