'ID', 'mall_id' => 'Mall ID', 'material_id' => 'Material ID', 'view_seconds' => 'View Seconds', 'view_numbers' => 'View Numbers', 'view_times' => 'View Times', 'share_times' => 'Share Times', 'status' => 'Status', 'created_at' => 'Created At', 'updated_at' => 'Updated At', ]; } public function getMaterial() { return $this->hasOne(BusinessCardMaterials::class, ['id' => 'material_id'])->select('id,title,cover_img'); } /** * 数据设置 */ public static function setData(array $params) { try{ if (!isset($params['mall_id']) || empty($params['mall_id'])) throw new Exception('缺少商城ID'); if (isset($params['id']) && !empty($params['id'])) { $model = self::findOne([ 'id' => $params['id'], 'mall_id' => $params['mall_id'], 'status' => StatusEnum::ENABLED ]); if(empty($model)) throw new Exception('统计记录不存在或已删除'); } else if (isset($params['material_id']) && !empty($params['material_id'])) { $model = self::findOne([ 'material_id' => $params['material_id'], 'mall_id' => $params['mall_id'], 'status' => StatusEnum::ENABLED ]); } if (!empty($model)) { if (isset($params['view_seconds'])) { $model->view_seconds = $model->view_seconds + $params['view_seconds']; unset($params['view_seconds']); } if (isset($params['view_numbers'])) { $model->view_numbers = $model->view_numbers + $params['view_numbers']; unset($params['view_numbers']); } if (isset($params['view_times'])) { $model->view_times = $model->view_times + $params['view_times']; unset($params['view_times']); } if (isset($params['share_times'])) { $model->share_times = $model->share_times + $params['share_times']; unset($params['share_times']); } } else { $model = new self(); $model->loadDefaultValues(); $model->mall_id = $params['mall_id']; } if (!$model->load($params,'') || !$model->save()) throw new Exception($model->getErrorMessage()); return $model; }catch(Exception $e){ self::setStaticError($e->getMessage()); return false; } } }