Стремительная загрузка для вложенных красноречивых отношений в Laravel - PullRequest
1 голос
/ 21 марта 2020

Я создаю laravel приложение, которое является Системой Гарантии Предметов.

В нем задействовано 3 модуля, а именно: Товар, Гарантия и Претензия.

Item -> Warranty -> Claim

Товар имеет много Гарантий ,

Одна гарантия относится к одному элементу,

Гарантия имеет много претензий (поскольку она может быть востребована много раз, претензия здесь является моделью, поскольку она имеет описание)

Одна претензии принадлежат одной гарантии.

Итак, теперь я собираюсь выяснить, сколько претензий имеет каждый элемент, используя готовую загрузку? Спасибо за вашу помощь :)

Ответы [ 2 ]

1 голос
/ 21 марта 2020

Item hasMany Гарантия

Гарантия hasMany Заявка

А теперь вы хотите получить Заявки на конкретный предмет. Затем вам нужно создать еще одно отношение в модели утверждений как Имеет много сквозных

class Item extends Model
{
    /**
     * Get all of the claim for the item.
     */
    public function claims()
    {
        return $this->hasManyThrough('App\Claim', 'App\Warranty');
    }
}

Теперь в контроллере вы можете использовать с методомCount для подсчета.

$ietms = App\Item::withCount('claims')->get();

Узнайте больше о Имеет много через

0 голосов
/ 21 марта 2020

Стремительная загрузка вложенных отношений:

 $ietms = App\Item::with('Warranty.Cliam')->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...