Ассоциация моделей 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']).