У меня есть полиморфная модель изображения (public $morphTo = ['imageable' => []];
) и модель Post, которая ее использует.OctoberCMS Множество морфовых отношений
Я хочу Сообщение иметь 2 O 3 изображений для самого различных целей (сообщение заголовка, Показанных изображений и фонового изображения)
Из-за сложности изображения модели обработки изображений и его использование на несколько других классах (Статьи , Страницы и т. Д.) Я бы очень хотел использовать его в таких сообщениях, но один образ каждого типа, поэтому я использую morphOne
. Сделал так, как это на Post
Модель:
public $morphOne = [
'header_image' => [
Image::class,
'name' => 'imageable'
],
'featured_image' => [
Image::class,
'name' => 'imageable'
],
'background_image' => [
Image::class,
'name' => 'imageable'
],
];
Но восстановление изображения, кажется, всегда получить первый в таблице изображения, даже будучи как сохранённые там. Сохранение любого заменяет первую запись, удаление удаляет первую запись, и т.д ...
Я думаю, проблему, вероятно, извлечение одного записи для отношений MorphOne получает первое, что соответствует type
и id
для гарантируемого атрибута.
Вопрос: Есть ли способ сделать эту структуру работой? Параметры отношения, возможно, разные отношения морфинга?
Спасибо за помощь!
никогда не пробовали octobercms (пока - но было несколько Laravel фон) Интересно, что произойдет, если вы дали ему другое имя, '«имя»=>«imageable'' , ** Изменить ** или, возможно, предоставить дополнительную таблицу (если возможно) в таблицу изображений, как [в этом примере] (https://laracasts.com/discuss/channels/general-discussion/multiple-polymorphic-relations- на одной модели). –
Реализовано практически такое же решение на октябрь с использованием условий отношений. См. Мой ответ ниже! –
Я вижу, его интересный способ манипулировать полиморфными отношениями. –