Нисходящая модель отношений Laravel

Я запускаю этот запрос в моем приложении Laravel,

$project = Project::leftJoin('organisation_user', 'organisation_user.organisation_id', '=', 'projects.organisation_id')
->where('organisation_user.user_id', '=', ResourceServer::getOwnerId())
->whereNotNull('projects.organisation_id')
->get();

Это возвращает данные, которые ожидают этого, и я могу затем выполнить эту загрузку в сводных данных для организации, с которой связан проект.

$project->load('organisations');

С этого момента я хочу сделать так, чтобы нагрузка в сводных данных для организаций была возможной, в моей голове кажется, что я хочу спуститься через отношения.

0

Решение

Вы можете пропустить объединение и сделать все сразу, если у вас установлены отношения «многие ко многим» для project а также organization моделей.

$project = Project::has('organizations')->with(['organizations'=> function($query){
$query->where('user_id', ResourceServer::getOwnerId());
}])->get();

Или измените немного и назовите вложенные отношения.

$organization = Organization::with('projects.organizations')->where('user_id', ResourceServer::getOwnerId())->first();

return $organization->projects;

Если вам нужны дополнительные данные сводной таблицы, вы можете добавить withPivot() к вашим отношениям.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]