首页 新闻 搜索 专区 学院

谁能看出这laravel中的[方法调用]和[多表查询]代码中有错误吗?

0
悬赏园豆:20 [待解决问题]

业务逻辑:当论坛中一个帖子被删除时,将该帖子对应的[待办]置为[已办]
代码如下,我想请大家帮我看看我写的对不对,这个laravel框架做的一个企业内部管理论坛项目。我代码本地跑不起来,需要写完直接上传服务器测试,我现在的疑虑就是laravel的多表查询写得对不对,调用传参方式正不正确。$push_data里的内容是已有模板的,不管它。谢谢各位道友!
本人java出身,希望结交些朋友,学习交流。另家中表妹待字闺中,颜值皮肤top,英语专业,毕业两年,要求[帅气]勇士一枚,无不良嗜好,隐私问题,不放照了,自荐吧。

sql如下:
select users.alias, users.name,t1.post_id, t1.push_id,t1.user_id,t1.is_task from push_tasks as t1 join users on users.id = t1.user_id where t1.post_id = 80 and t1.is_task = 0

    /**
     * 此处为帖子控制器中的(删除帖子)方法中的片段
     * 目的:调用Mq.PHP中的done_all_todo方法并把板块id和帖子id传参过去
     */
        $mq = new Mq();//此处增加调用Mq.php中的(消除待办方法)
        $mq->done_all_todo($group->id,$post->id);  //调用全部消除待办方法
    /**
     * 此处为Mq.php类中的done_all_todo方法
     * 方法目的:将全部待办转为已办
     */
    public function done_all_todo($group_id,$post_id){   //全部待办转为已办
        $data = DB::table('push_tasks as t1')//连表查询获得用户别名,用户名,帖子id,推送id,用户id,是否待办
            ->join('users', 'users.id', '=', 't1.user_id')
            ->select('users.alias', 't1.post_id', 't1.push_id','t1.user_id','t1.is_task')
            ->where('t1.post_id','=',$post_id )//任务表下对应该帖子的待办
            ->where("t1.is_task", 0) //0代表尚处于待办状态
            ->get();
        $crypt = Crypt::encryptString("$group_id,$post_id");将改板块id和帖子id加密
        $url = $this->esp_data['url'] . "/siam/login?service=" . $this->esp_data['url'] . "/siam/oauth2.0/callbackAuthorize?oauth20_callbackUrl=" . $this->esp_data['redirect_uri'] . "/$crypt&response_type=code";//要发送的地址
        $mobil = config("app.url") . "/spa/#/groups/$group_id/posts/$post_id?";//要发送的移动端地址
        foreach($data as $task){
            $push_data = [
                'taskId'          => $task->push_id,  //推送任务id
                'todoType'        => "论坛",
                "taskArriveDate"  => date("Y-m-d H:i:s", time() + 8 * 3600),
       ``         "taskApproveId"   => $task->alias,//用户别名
                "taskApproveName" => $task->name, //用户名
                "mobileTaskUrl"   => $mobil,    //移动端地址
                "pcTaskUrl"       => $url,      //pc端地址
                "instanceId"      => $post_id,  //帖子id
                "systemCode"      => "bbs",//论坛
                "operatorType"    => 4,//4号操作=置为已办
                "taskDoneDate"    => date("Y-m-d H:i:s", time() + 8 * 3600),
            ];
            $this->seed($push_data);//发送出去即可,其实就是send方法。
        }
    }
张老板Daniel的主页 张老板Daniel | 初学一级 | 园豆:182
提问于:2021-09-11 15:21
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册