dougang6178 2019-05-24 11:36
浏览 65

laravel中查询构建器中的with子句的替代

I write a query using Eloquent in laravel 5 in which i use with Clause but when i write the query in laravel query Builder in which i cannot find any with Clause Please tell me the alternate of with Clause in query builder.

Here is my query in eloquent:

$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;
                }
        }  

i want this query to change in query builder. Here is the query i will tried but i think its not work.

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

In this query i could not find alternate of with clause. Please Help Me. Thanks in Advance.

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
    • ¥20 软件测试决策法疑问求解答
    • ¥15 win11 23H2删除推荐的项目,支持注册表等
    • ¥15 matlab 用yalmip搭建模型,cplex求解,线性化处理的方法
    • ¥15 qt6.6.3 基于百度云的语音识别 不会改
    • ¥15 关于#目标检测#的问题:大概就是类似后台自动检测某下架商品的库存,在他监测到该商品上架并且可以购买的瞬间点击立即购买下单
    • ¥15 神经网络怎么把隐含层变量融合到损失函数中?
    • ¥15 lingo18勾选global solver求解使用的算法
    • ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行
    • ¥20 测距传感器数据手册i2c