誰能看出這[方法呼叫]和[多表查詢]程式碼中的錯誤嗎?

zhangwenchao發表於2021-09-11

業務邏輯:當論壇中一個帖子被刪除時,將該帖子對應的[待辦]置為[已辦]
程式碼如下,我想請大家幫我看看我寫的對不對,這個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方法。
        }
    }
本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章