объединить в laravel, используя «с» и установить где оператор в объединенной таблице - PullRequest
0 голосов
/ 13 января 2019

я пишу свой код так:

    $teams = TeamTeam::query()
        ->selectRaw('team_teams.title, team_teams.team_structure_id, team_teams.id,
         team_teams.description')
        ->join('team_structures','team_teams.team_structure_id',"=",'team_structures.id')
        ->where('team_structures.organization_id',session()->get('organization_id'))
        ->orderBy('team_structures.created_at','desc');
    $teams = $teams->get();

Я хочу использовать с вместо вместо, как:

TeamTeam :: with ('TeamStructure') ... ... и указать оператор where в таблице team_structures. как я могу это использовать ?? !!

спасибо.

1 Ответ

0 голосов
/ 13 января 2019
$teams = TeamTeam::with(['TeamStructure' => function ($q1){
            $q1->where('organization_id', session()->get('organization_id'))->orderBy('created_at', 'desc');
        }])
        ->whereHas('TeamStructure', function ($q2){
            $q2->where('organization_id', session()->get('organization_id'))->orderBy('created_at', 'desc');
        })
        ->select('title', 'team_structure_id', 'id', 'description')
        ->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...