CakePHP 3.6.11: доступ к свойству объединенных таблиц в представлении - PullRequest
0 голосов
/ 05 октября 2018

У меня есть следующие таблицы:

клиенты [идентификатор, имя, фамилия, телефон, текст, баланс, создано]

service_types [идентификатор, название, цена, длина, is_subscription, создано]

customer_service_types [id, customer_id, service_type_id, цена, создано]

В view.ctp Я хочу просмотреть все Services, которые назначены текущему клиенту.

Bake Создано это view function в CustomersController.php

public function view($id = null)
    {
        $customer = $this->Customers->get($id, [
            'contain' => ['CustomerServiceTypes']
        ]);

        $this->set('customer', $customer);
    }

И в view.ctp Я хочу отобразить service_type -> title, вот как я пытался это сделать:

<td><?=$customerServiceTypes->service!==null ? h($customerServiceTypes->service->title) : '' ?></td>

Но всегда отображается пустым.Как я могу изменить это, чтобы работать?

1 Ответ

0 голосов
/ 05 октября 2018

Измените функцию просмотра следующим образом:

$customer = $this->Customers->get($id, [
            'contain' => ['CustomerServiceTypes' => ['ServiceTypes']]
        ]);


        $this->set('customer', $customer);

В view.ctp:

<td><?= h($customerServiceTypes->service_type->title) ?></td>
...