在另一个Controller视图中列出表单模板

时间:2018-09-18 03:55:26

标签: cakephp orm cakephp-3.0

我有一个form_templates表和一个forms表。它们通过form_template_id连接。我希望能够列出在Forms控制器中创建的select.ctp文件中按标题创建的form_templates。只是想了解如何使用cakephp做到这一点?

目前,我的FormsController中包含以下代码:

    public function select()
{
    $this->set('page_heading', 'Current Forms');

    $contain = [];

    $formTemplate = $this->FormTemplates->Forms->find('list', ['order' => 'title'])->where(['active'=>true]);

    $forms = $this->paginate($this->Forms->FormTemplates);
    $this->set(compact('forms', 'formTemplate'));
}

但是我得到了对null函数错误的成员函数find()的调用。

任何有关如何解决此问题的帮助将不胜感激。我知道这很简单,但是我是Cakephp的新手。

1 个答案:

答案 0 :(得分:1)

在您的FormsController中仅自动加载FormsTable,并且您正在尝试访问当前未加载的模型:

$formTemplate = $this->FormTemplates->Forms->find(...

要获得所需的内容,您应该像这样访问关联的FormTemplatesTable

$formTemplate = $this->Forms->FormTemplates->find(...