Я пишу запрос с помощью 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. Помогите мне, пожалуйста. Заранее спасибо.