CakePHP 2.x Доступ к другой модели

Noob, чтобы испечь PHP здесь.

Bicycle belongsTo Stand
Stand hasMany Bicycle
Stand belongsTo Station
Station hasMany Stand

Я испек CRUD, и теперь я хочу отображать название станции, когда я смотрю велосипед. Как мне определить отношения между велосипедом и станцией? Или что мне нужно сделать, чтобы включить модель станции в контроллер велосипедов?

Что я пробовал до сих пор. Который выбрасывает "Уведомление (8): неопределенный индекс: станция":BicyclesController.php:

public function index() {
        $this->Bicycle->recursive = 2;
        $this->set('bicycles', $this->Paginator->paginate());
    }

index.ctp:

    <?php echo $this->Html->link($bicycle['Station']['name'].$bicycle['Stand']['stand_no'], array('controller' => 'stands', 'action' => 'view', $bicycle['Stand']['id'])); ?>

Помогите!

1 ответ

Решение

Поскольку у вас нет прямой связи между велосипедом и станцией, он не будет доступен в течение $bicycle['Station'] Более вероятно, будет доступно в $bicycle['Stand']['Station]['name'],

Чтобы увидеть, действительно ли он возвращается с рекурсивным набором, как есть, я бы снова запустил запрос и вызвал $debug($bicycle);die; в следующем порядке.

public function index() {
        $this->Bicycle->recursive = 2;
        $bicycles = $this->Paginator->paginate();
        $debug($bicycle);die;
        $this->set(compact('bicycles'));
    }

Это уничтожит модель на этом этапе и отобразит массив возвращаемых результатов. После этого вы увидите, где находится нужная вам информация и как получить к ней доступ. Просто удалите $debug линия, когда закончено.

Другие вопросы по тегам