Получение отношений отношений с помощью Laravel

Мне нужен список приглашенных, чтобы показать, кто показывает приглашения. Но я думаю, что мне нужны отношения, которые восстанавливают отношения

Мои отношения:

  • КомпанияМодель
  • ИнвайтМодель

Поэтому я смотрю на документацию "Eager Loading", но я не понимаю, как это работает и как мне это использовать.

 public function company() {

    return $this->belongsTo( 'App\Models\Manage\Company' );
}

public function invites() {

    return $this->hasMany( 'App\Models\Manage\Invite' )->orderBy('email')->orderBy('id');
}

Эти функции есть в одной модели? Не могли бы вы объяснить, чего именно вы пытаетесь достичь?

Jerodev 19.02.2019 12:20

Да, эта функция есть на одной модели: я сделаю это, когда нажму на вкладку приглашений. Что я вижу все приглашения, которые были отправлены.

Patrick Stek 19.02.2019 12:26

Какова структура? У одной компании много приглашений, верно (один ко многим)?

Mihir Bhende 19.02.2019 12:30
Стоит ли изучать 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
29
2

Ответы 2

Если вы получаете данные компании с отношением инвайтов.

Пытаться это:

$company = CompanyModel::with('invites')->get();
dd($company);

Учитывая отношения одной компании, может быть несколько приглашений:

ComponyМодель:

public function invites() {

    return $this->hasMany( 'App\Models\Manage\Invite' )->orderBy('email')->orderBy('id');
}

InviteМодель:

public function company() {

    return $this->belongsTo( 'App\Models\Manage\Company' );
}

Получение инвайтов конкретной компании:

$company = Company::find($companyId);
$invites = $company->invites;

Получение всех компаний и их соответствующих инвайтов:

$companies = Company::with('invites')->get();

Затем вы можете просмотреть компанию и получить приглашения каждой компании:

foreach($companies as $company){
    $invites = $company->invites;
}

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