Получить список всех связанных моделей в CakePHP 3.6 - PullRequest
0 голосов
/ 28 сентября 2018

Я собираюсь создать ячейку для меню 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 голосов
/ 28 сентября 2018

Оказывается, это действительно просто:

class AssociatedModels extends Cell {

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

}
...