public function destroySession() { AuthFacade::save(['remember_token' => $this->security->getToken()]); SessionFacade::remove('auth'); CookieFacade::get('auth[email]')->delete(); CookieFacade::get('auth[token]')->delete(); }
protected function getTagsKey(Users $user = null) { if ($user == null) { $user = AuthFacade::getService(); } return $this->getPrefix() . 'users:' . $user->id . ':tags'; }
public function addTag(Tags $tag) { $user = AuthFacade::getService(); $this->deleteCacheTags(); $taggables = $this->getTaggable($tag); foreach ($taggables as $t) { if ($t->user_id == $user->id) { return $this; } //如果当前用户已经加过该taggable,则直接返回 } $data = ['tag_id' => $tag->id, 'taggable_type' => get_class($this), 'taggable_id' => $this->id, 'user_id' => $user->id]; $taggable = new Taggables(); $taggable->save($data); $meta = $tag->getTagmetaOrNew(); $meta->save(['taggableCount' => $meta->taggableCount + 1]); if ($taggables->count() == 0) { $tag->increaseCount('taggableCount'); } return $this; }
public function deleteByCurrentUser() { $user = AuthFacade::getService(); $taggables = Taggables::query()->where('tag_id = :tag:', ['tag' => $this->id])->andWhere('user_id = :user:'******'user' => $user->id])->execute(); $taggables->delete(); // dd($taggables); $meta = $this->getTagmetaOrNew(); // dd($meta); $meta->delete(); if ($taggables->count() == 0) { $this->delete(); } }