获取CakePHP 3.6中所有关联模型的列表

时间:2018-09-28 18:43:18

标签: cakephp cakephp-3.0

我打算为CMS菜单创建一个单元格,其中包含指向每个关联模型的控制器的View&List方法的链接。

此事的影响

class AssociatedModels extends Cell {

    public function display($model) {
         $this->loadModel($model);
         // here's the bit I don't know how to do
         $associated_models = <some function that retrieves this>
         $this->set(compact('associated_models'));
    }

}

在我看来,即使如果我要查找的功能存在,它可能也需要直接请求该模型。 $this->MyModel->getAssociated()之类的东西;如果是这种情况,还是可以动态地执行此操作(因为在渲染单元格时将模型名称作为字符串传递)。

1 个答案:

答案 0 :(得分:1)

事实证明这很容易:

class AssociatedModels extends Cell {

    public function display($model) {
         $this->loadModel($model);
         $this->set('associated_models', $this->$model->associations()->keys());
    }

}