我是cakephp的新手,我想在我的控制器中导入控制器,所以我使用下面的语法.这是我导入用户控制器的控制器:
users_controller.php中
function api_work(){ $data = $this->User->find('all'); $this->set('data' , $data); }
Run Code Online (Sandbox Code Playgroud)
plays_controller.php
function api_show()
{
$this->layout= false;
App::import('Controller', 'Users');
$Users = new UsersController;
$Users->constructClasses();
$data = $Users->api_work();
pr($data); //it not display anything and shows error like undefined varia
ble
}
Run Code Online (Sandbox Code Playgroud)
控制器已成功导入.问题是如何从api_work()函数返回数据?
CakePHP是一个MVC(模型视图控制器).users_controller中的api_work函数应该在User模型(User.php)中.或者你可以$this->User->find('all');在plays_controller.php而不是$Users->api_work().
以上建议意味着您需要删除所有这些行:
App::import('Controller', 'Users');
$Users = new UsersController;
$Users->constructClasses();
Run Code Online (Sandbox Code Playgroud)
您还需要确保在users_controller.php的顶部添加以下内容(在类声明下).
$uses = array([...], 'User'); OR $uses = array('User');
Run Code Online (Sandbox Code Playgroud)
我真的建议你阅读CakePHP书(http://book.cakephp.org/).
| 归档时间: |
|
| 查看次数: |
5241 次 |
| 最近记录: |