Ассоциация моделей CakePHP: Посмотреть изображение продукта

У меня есть модель продуктов, и у каждого продукта есть несколько изображений. Так Product-hasMany-Image,

Теперь, когда я просматриваю какой-либо продукт, я могу видеть изображения, которые у него есть, но не могу просматривать изображения, когда я перечисляю продукты в индексе. Как мне получить первое изображение из продукта для отображения в индексе?

Единственный способ справиться с этим - использовать Image модель внутри Productsконтроллер, но я думаю, что это не лучший вариант.

РЕДАКТИРОВАТЬ: Большинство вещей, как после выпечки. По умолчанию отображается hasMany при перечислении всех продуктов?

Модель:

class Product extends AppModel {
var $hasMany = array(
    'Image' => array(
        'className' => 'Image',
        'foreignKey' => 'parent_id',
        'dependent'=> false
    ),
);    }

1 ответ

Решение

Когда вы использовали скрипт bake, ваше действие index, скорее всего, будет содержать следующую строку:

$this->Product->recursive = 0;

Это отключит все отношения, которые вы установили. Прокомментируйте / удалите эту строку, и вы сможете правильно отобразить изображение (оно должно быть ниже $this->data['Product']['Image']).

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