2012-01-10 2 views
1

제품 모델이 있고 각 제품에 여러 이미지가 있습니다. 따라서 Product - hasMany - Image.CakePHP 모델 조합 : 제품 이미지보기

이제 일부 제품을 탐색 할 때 색인에 제품을 나열 할 때 이미지는 볼 수 있지만 이미지를 볼 수는 없습니다. 제품의 첫 번째 이미지를 인덱스에 표시하려면 어떻게해야합니까?

내가 처리 할 수있는 유일한 방법은 Products 컨트롤러 안에 Image 모델을 사용하는 것입니다.하지만 이것이 최선의 방법은 아닌 것 같습니다.

편집 : 대부분의 재료는 구운 후에와 같습니다. 기본적으로 모든 제품을 나열 할 때 hasMany가 표시됩니까?

모델 :

$this->Product->recursive = 0; 

이것은 당신이 한 모든 관계를 비활성화합니다 :

당신이 빵 스크립트를 사용했다
class Product extends AppModel { 
var $hasMany = array(
    'Image' => array(
     'className' => 'Image', 
     'foreignKey' => 'parent_id', 
     'dependent'=> false 
    ), 
); } 
+0

사용중인 코드의 몇 가지 예를 제공해 주시겠습니까? – Bangline

+0

갓 구운 경우이 기능이 이미 있습니다. 'recursive = 0'을 사용하는 경우에도 케이크가 Product 및 관련 이미지를 반환해야합니다. 제품을 볼 때 이미지를 볼 수 있으므로 '제품'색인 방법을 게시해야합니다. – Ross

답변

0

, 색인 작업이이 라인을 가지고 가능성이 가장 높은 것 세트. 이 줄을 주석 처리/제거하면 이미지를 제대로 표시 할 수 있습니다. $ this-> data [ 'Product'] [ 'Image'] 아래에 있어야합니다.

+0

오케이, 이것이 문제라고 생각합니다. 왜 기본적으로이 줄이 있는지 알지 못합니다. 감사! – user1018809

+0

이 줄은 기본적으로 존재합니다. 왜냐하면 bake 스크립트는 주어진 모델에 대한 색인 테이블을 생성한다고 가정하기 때문입니다. 그러나 여러 번 관련 모델의 데이터를 표시하려는 경우이 줄을 제거해야합니다. – Oldskool