谁能看看这[方法调用]和[多表查询]代码中的有错误吗?
业务逻辑:当论坛中一个帖子被删除时,将该帖子对应的 [待办] 置为 [已办]
代码如下,我想请大家帮我看看我写的对不对,这个 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方法。
}
}
推荐文章: