/** * 修改问题 * @date: 2016-1-12 * @author: futao */ public function editAction() { $this->setLeftNav('edit'); $req = $this->request; if (!$req->isPost()) { $id = intval($req->getQuery('id', null, 0)); if ($id != '') { $info = Question::findFirst('question_id = ' . $id . ' and question_state = 1'); } if (!$info) { echo "无效!"; exit; } $user = UserBase::findFirst('user_id =' . $info->user_id); if (unserialize(base64_decode($info->question_content))) { $info->question_content = unserialize(base64_decode($info->question_content)); } if (json_decode($info->question_pics)) { $info->question_pics = json_decode($info->question_pics); } //全部标签 $allTag = BeautyParlorTagInfo::find("parent_id != 0"); //已选择标签 $questionTag = QuestionTag::find('question_id = ' . $info->question_id); //选择的标签转换成字符串 foreach ($questionTag as $k => $v) { if ($k == 0) { $tagIds = $v->tag_id; } else { $tagIds = $tagIds . "," . $v->tag_id; } } $this->view->setVar('question_tag', $questionTag); $this->view->setVar('alltag', $allTag); $this->view->setVar('user', $user); $this->view->setVar('info', $info); $this->view->setVar('tagids', $tagIds); return; } $this->view->disable(); $echo = function ($msg, $state = false) { echo '<script type="text/javascript">'; echo 'parent.formResult("' . $msg . '", ' . ($state ? 1 : 0) . ')'; echo '</script>'; }; $question_id = $req->getPost('question_id', null, 0); $question_browsers = $req->getPost('question_browsers', null, 0); $questionTag = $req->getPost('question_tag', null, ''); //修改标签 if ($questionTag != '' && is_array($questionTag)) { QuestionTag::find("question_id = {$question_id}")->delete(); foreach ($questionTag as $val) { unset($tagId); unset($tagName); $tagArr = explode(',', $val); $tagId = $tagArr[0]; $tagName = $tagArr[1]; $tagNameArr[] = $tagName; $questionTagModel = new QuestionTag(); $questionTagModel->question_id = $question_id; $questionTagModel->tag_id = $tagId; $questionTagModel->tag_name = $tagName; $questionTagModel->save(); } } $allTag = BeautyParlorTagInfo::find("parent_id != 0")->toArray(); if ($question_id > 0 && $question_browsers >= 0) { $questionModel = Question::findFirst("question_id = {$question_id} and question_state = 1"); //////////////////////////question_tag字段重新赋值 if (json_decode($questionModel->question_tag)) { $questionTagArr = json_decode($questionModel->question_tag); foreach ($allTag as $k => $v) { foreach ($questionTagArr as $key => $val) { if ($questionTagArr[$key] == $allTag[$k]['tag_title']) { unset($questionTagArr[$key]); } } } } $questionTagArr = array_values($questionTagArr); foreach ($tagNameArr as $v) { $questionTagArr[] = $v; } //////////////////////////////////////////////////////////// $questionModel->question_tag = json_encode(array_unique($questionTagArr)); $questionModel->question_browsers = $question_browsers; if ($questionModel->save()) { $echo("修改成功!", true); } else { $echo("修改失败!"); } } else { $echo("参数错误!"); } }
public function listAction() { $this->view->setVar('data', QuestionTag::find()); }