Exemple #1
0
 /**
  * 保存/修改资讯数据
  *
  * @params array $params 保存数据
  * @return boolean 是否保存成功
  */
 public function saveNewsData($params = [])
 {
     // $params = Yii::$app->request->post('Post',false);
     $isNewRecord = $this->isNewRecord;
     //判断是新增还是修改
     if (!$params) {
         return false;
     } else {
         $news_id = $this->storeSave($params);
         $conditions = [];
         if (!$news_id) {
             return false;
         } else {
             if ($isNewRecord) {
                 $model = new PostAttrStat();
                 $model->news_id = $news_id;
                 $model->save(false);
             }
             $conditions['news_id'] = $news_id;
             //相关用户
             if (isset($params['rel_user'])) {
                 //数据处理
                 $params['rel_user'] = $this->getDataId($params['rel_user']);
                 $conditions['attr_id'] = PostAttribute::USER;
                 $this->saveAttrVals($conditions, $params['rel_user']);
             }
             //相关产品
             if (isset($params['rel_product'])) {
                 //数据处理
                 $params['rel_product'] = $this->getDataId($params['rel_product']);
                 $conditions['attr_id'] = PostAttribute::PRODUCT;
                 $this->saveAttrVals($conditions, $params['rel_product']);
             }
             //相关资讯
             if (isset($params['rel_news'])) {
                 $conditions['attr_id'] = PostAttribute::SIMILAR_NEWS;
                 $this->saveAttrVals($conditions, $params['rel_news']);
             }
             //相关标签
             if (isset($params['rel_tag'])) {
                 //获取标签对应的tag_id组成的字符串
                 $mTag = new Tag();
                 $tagStr = $mTag->rebackTagIds($params['rel_tag']);
                 $conditions['attr_id'] = PostAttribute::TAG;
                 $this->saveAttrVals($conditions, $tagStr);
             }
             return true;
         }
     }
 }