Альтернатива с предложением в конструкторе запросов в laravel - PullRequest
0 голосов
/ 24 мая 2019

Я пишу запрос с помощью Eloquent в laravel 5, в котором я использую with Clause, но когда я пишу запрос в построителе запросов laravel, в котором я не могу найти with Clause Пожалуйста, скажите мне альтернативу with Clause в построителе запросов.

Вот мой красноречивый запрос:

$invitedOnActivity = $this->isInvitedOnActivity($activity->id, $activity->user_id, $authUser->id);

        if($invitedOnActivity == true && $activity->activity_privacy == 'invite_only'){

            if($activity->activity_privacy_visible == 0)
                {
                    $activity = Activity::where('id', $activity->id)->with(['joins' => function($query) use ($userFriendIds) {
                        $query->whereIn('user_id', $userFriendIds);
                    }])->withCount(['joins' => function ($query) use ($userFriendIds) {
                        $query->whereIn('user_id', $userFriendIds);
                    }])->first();
                        // return response()->json(['q'=>$activity],200);
                } 
                else if ($activity->activity_privacy_visible == 1 && in_array($activity->user_id, $userFriendIds))
                {
                    $activity = Activity::where('id', $activity->id)->where('activity_privacy_visible', 1)->with(['joins' => function($query) use ($userFriendIds) {
                        $query->whereIn('user_id', $userFriendIds);
                    }])->withCount(['joins' => function ($query) use ($userFriendIds){
                        $query->whereIn('user_id', $userFriendIds);
                    }])->first();
                        // return response()->json(['w'=>$activity],200);      
                } 
                else {
                    continue;
                }
        }  

Я хочу, чтобы этот запрос изменился в построителе запросов. Вот запрос, который я попробовал, но я думаю, что он не работает.

if($invitedOnActivity == false){
            $activity = DB::table('activities')
                ->where('id', $activity->id)
                ->where('activity_privacy', 'invite_only')
                ->where('activity_privacy_visible', 0)
                ->get();
        }

В этом запросе я не смог найти альтернативу оператора with. Помогите мне, пожалуйста. Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...