2014-11-29 3 views
0

여기서 떡 먹고 PHP하세요.CakePHP 2.x 다른 모델에 액세스

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 행을 삭제하면됩니다.

관련 문제