Объедините два красноречивых отношения в одной Модели и объедините их данные

У меня есть несколько красноречивых отношений, установленных через бэкэнд в приложении laravel. Мне нужно объединить несколько из них в ответ, и я не знаю, как это сделать. Я рассматриваю отношения hasManyThrough, но мне кажется, что, поскольку я получаю нужные мне данные через другие реляционные вызовы, вероятно, есть способ их объединить. В любом случае вот мой звонок в моей модели Quote.

/**
 * The items that belong to the quote.
 */
public function items()
{
    return $this->belongsToMany('App\Item')->withPivot('waste', 'subtotal', 'required');
}

/**
 * The categories that have been added to a quote.
 */
public function categories()
{
    return $this->belongsToMany('App\Category')->withPivot('priority', 'expanded')->with('items');
}

Я бы хотел каким-то образом объединить эти две связи, чтобы категории () возвращали все, что они делают, но присоединяют сводную таблицу из метода items к элементам активной загрузки. Я не совсем понимаю, правильно ли я объяснил, но надеюсь на это.

Как выглядит структура базы данных? Есть ли связь между категориями и предметами?

newUserName02 21.12.2018 23:37

Почему ты не можешь просто сделать Quote::with(['categories', 'items'])->get()?

newUserName02 21.12.2018 23:44

извините за задержку, ребята, меня не было в городе. В категориях много элементов, а у элементов одна категория.

Brad Goldsmith 26.12.2018 18:18
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
0
3
65
0

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