Я запускаю этот запрос в моем приложении 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');
С этого момента я хочу сделать так, чтобы нагрузка в сводных данных для организаций была возможной, в моей голове кажется, что я хочу спуститься через отношения.
Вы можете пропустить объединение и сделать все сразу, если у вас установлены отношения «многие ко многим» для 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()
к вашим отношениям.
Других решений пока нет …