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