我是cakephp中的新手,我想在我的控制器中导入控制器,所以我使用下面的语法。这是我导入用户控制器的控制器:
users_controller.php中
function api_work(){ $data = $this->User->find('all'); $this->set('data' , $data); }
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
}
控制器已成功导入。 问题是如何从api_work()函数返回数据?
答案 0 :(得分:6)
CakePHP是一个MVC(模型视图控制器)。 users_controller中的api_work函数应该在User模型(User.php)中。或者,您可以在plays_controller.php而不是$this->User->find('all');
中执行$Users->api_work()
。
以上建议意味着您需要删除所有这些行:
App::import('Controller', 'Users');
$Users = new UsersController;
$Users->constructClasses();
您还需要确保在users_controller.php的顶部添加以下内容(在类声明下)。
$uses = array([...], 'User'); OR $uses = array('User');
我真的建议您阅读CakePHP书籍(http://book.cakephp.org/)。