是否可以直接从 Cakephp 2 中的视图调用模型函数?我知道我可以从控制器调用它并将值设置为视图,但如果我可以在视图中调用它会更好......
谢谢
不,它违背了框架和核心 MVC 原则的全部要点。
只是不要这样做。
可以在控制器中使用相同的视图:
App::import('Model', 'Department');
$this->Department = new Department();
$users = $this->Department->getUserOfDepartment($id);
只是为了扩展@DavidYell 的答案。直接从视图调用模型确实违反了“整个框架和核心 MVC 原则”,但如果您需要视图中的动态数据,只需通过 AJAX 调用控制器来获取数据。“模式”如下:
fetchData()
方法。)通过 Controller 的调用从 Model 中获取您需要的数据:
$this->UsedModel->find();
通过呈现(例如)JSON 响应将您刚刚获取的数据返回到视图
现在数据将在视图中可用,并且您会一直遵循“良好做法”。实际上在视图中暴露任何模型是非常非常糟糕的。请不要这样做,或者切换到.NET ..:D