2

我是 cakephp 的新手,我想在我的控制器中导入控制器,所以我使用下面的语法。这是我在其中导入用户控制器的控制器:

users_controller.php

 function api_work(){ $data = $this->User->find('all'); $this->set('data' , $data); }

播放控制器.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() 函数返回数据?

4

1 回答 1

6

CakePHP 是一个 MVC(模型视图控制器)。users_controller 中的 api_work 函数应该位于 User 模型 (User.php) 中。或者,您可以$this->User->find('all');在 play_controller.php 中而不是$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/ )。

于 2012-06-09T05:57:30.680 回答