CakePHP 2.x访问另一个模型

时间:2014-11-29 13:01:26

标签: cakephp cakephp-2.5

Noob to cakePHP here。

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

我已经烘焙了CRUD,现在我想在看自行车时显示电台名称。我该如何定义自行车 - 车站关系?或者我需要做什么才能将车站模型包含在自行车控制器中?

到目前为止我尝试过的。 会抛出“Notice(8):Undefined index:Station”: 的 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 个答案:

答案 0 :(得分: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行。