视图上的CakePHP 3显示来自belongsTo关联模型的字段

时间:2015-09-12 22:24:05

标签: php cakephp associations cakephp-3.0

假设我有以下关联模式:

Person => [
     hasMany => [
         Courses => [Person.id = Courses.person_id]
     ],
Courses => [
    belongTo => [
         Schools => [School.id = Courses.school_id]
    ]

当我通过mydomain/person/view/1查看某人时,我需要有一张桌子来显示该人的课程。在此表中,每个课程都需要显示学校的名称。

所以我在我的控制器上尝试了以下内容:

public function view($id = null)
{
    $person = $this->Persons->get($id, [
        'contain' => [
            'Courses.Schools',
        ]
    ]);
    $this->set('persons', $test);
    $this->set('_serialize', ['person']);
}

我得到的是:

Person => [
    firstname => test,
    lastname => test,
    courses => [
        0 => [
            id => 1,
            shool_id => 1,
            person_id => 1,
        ]
    ]
]

尽管我在包含选项中使用了它,但阵列中没有学校。所以我无法显示学校的名称。我做错了吗?是否有任何指南如何在视图上显示这些字段。

1 个答案:

答案 0 :(得分:0)

基本上我很抱歉。这是由debugKit引起的。 debugkit仅通过变量面板显示关联,直到我提到的级别,但我使用var_dump并且看到关联和相关字段被正确获取/加载。我信任debugKit,我认为它们没有加载。