1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- <?php
- declare(strict_types=1);
- namespace app\model;
- use app\model\Base;
- class Tag extends Base
- {
- protected $pk = 'tagid';
- protected $schema = [
- "tagid" => "int",
- "tagname" => "varchar",
- "nums" => "int",
- "create_time" => "int",
- "update_time" => "int"
- ];
- public static function queryList($tagname)
- {
- return self::where('tagname','LIKE', '%'.$tagname.'%')->field('tagid, tagname')->select();
- }
- public static function saveTags(array $tags, int $infoid = 0, int $cid = 0)
- {
- foreach ($tags as $tagname) {
- $tag = self::where('tagname', $tagname)->find();
- if ($tag == null) {
- $tag = new static;
- $tag->tagname = $tagname;
- }
- $tag->nums += 1;
- $tag->save();
- TagArticle::create([
- 'infoid' => $infoid,
- 'cid' => $cid,
- 'tagid' => $tag->tagid
- ]);
- }
- }
- public static function decNums(array $tags, int $infoid=0)
- {
- foreach ($tags as $tagname) {
- $tag = self::where('tagname', $tagname)->find();
- if ($tag != null) {
- $tag->nums = $tag->nums - 1;
-
- $tag->save();
- TagArticle::where(['infoid'=>$infoid, 'tagid'=>$tag->tagid])->delete();
- }
- }
- }
- }
|