| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- <?php
- /**
- * 话题仓库.
- *
- * @author jim <jim458734573@gmail.com>
- * @date 2020-01-29 10:10:06
- */
- declare(strict_types=1);
- namespace App\Repositories;
- use App\Model\TopicCategoryModel;
- use App\Model\TopicModel;
- use App\Repositories\Service\CommonService;
- use Hyperf\Database\Model\Builder;
- use KZ2\Repositories\Model\Repository;
- class TopicRepository extends Repository
- {
- public function model()
- {
- return TopicModel::class;
- }
- /**
- * 创建1个话题.
- * @param $setarr
- * @return \Hyperf\DbConnection\Model\Model
- */
- public function createTopic($setarr)
- {
- $commonService = make(CommonService::class);
- $request = request();
- $serverParams = $request->getServerParams();
- $clientIp = $commonService->getIp();
- $arrUa = $request->getHeader('user-agent');
- // 取第一个.
- $ua = current($arrUa);
- $setarr['ip'] = $clientIp;
- $setarr['ua'] = $ua;
- $setarr['total_comment'] = 0;
- $setarr['total_share'] = 0;
- $setarr['total_support'] = 0;
- $setarr['is_top'] = 0;
- $setarr['is_digest'] = 0;
- $setarr['sticked_at'] = null;
- $item = TopicModel::create($setarr);
- if (!empty($item->id)) {
- $category = TopicCategoryModel::where('id', $setarr['category_id'])->first();
- if (!empty($category)) {
- // 累加分类下的话题数.
- $category->total_topic = intval($category->total_topic) + 1;
- $category->save();
- }
- }
- return $item;
- }
- }
|