Cakephp,为什么loadModel不显示相关记录?

时间:2013-10-31 12:18:55

标签: cakephp

我正在使用$ this-> loadModel('SomeModel'); 在控制器x中,用于读取模型y。

为什么我没有看到相关记录?

$this->loadModel('SomeModel');
pr($this->SomeModel->find('all')); 

Array
(
    [0] => Array
        (
            [SomeModel] => Array
                (
                    [id] => 1
                    [created] => 2013-10-10 19:27:46
                    [updated] => 2013-10-14 18:04:14
                    [user_id] => 2
                    [result_id] => 3
                )
        )

2 个答案:

答案 0 :(得分:0)

我相信你可以获得相关记录,如果你设置recrusive => 2即$ this-> SomeModel-> find(' all',array(' recursive&#39) ; =&→2))

答案 1 :(得分:0)

我有一个解决方案,但它不是漂亮的解决方案。开始吧 首先:找到AppController.php并添加公共静态变量。让我们称之为模型。例如:

public static $ model;

然后:

你的SomeModelController中的

(Controller将获得主模型)你必须做出index()动作,它将如下所示:

SomeModelController extends AppController {
  function index(){
    parent::$model = $this->SomeModel->find('all');
  }
}

好的,我们有数据。现在让我们转到Controller,它将数据传递给我们的视图。让我们称之为viewController。

viewController extends AppController{
  function index(){
    $this->requestAction('array('controller'=>'SomeModelController','action'=>'index')')
    $this->set('model',parent::$model);
  }
}

就是这样