<?php namespace app\common\Model; /** * 项目收藏 * Class ProjectMember * @package app\common\Model */ class ProjectCollection extends CommonModel { protected $append = []; /** * @param $memberId * @param $projectId * @param string $type * @return ProjectCollection|bool * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\ModelNotFoundException * @throws \think\exception\DbException */ public function collect($memberCode, $projectCode, $type = 'collect') { $project = Project::where(['code' => $projectCode, 'deleted' => 0])->find(); if (!$project) { throw new \Exception('该项目已失效', 1); } $hasCollected = self::where(['member_code' => $memberCode, 'project_code' => $projectCode])->find(); if ($type == 'collect') { if ($hasCollected) { throw new \Exception('该项目已收藏', 1); } $data = [ 'member_code' => $memberCode, 'project_code' => $projectCode, 'create_time' => nowTime() ]; return self::create($data); } else { if (!$hasCollected) { throw new \Exception('尚未收藏该项目', 1); } return self::where(['member_code' => $memberCode, 'project_code' => $projectCode])->delete(); } } }