Forráskód Böngészése

视频搜索首字母

lizhen_gitee 10 hónapja
szülő
commit
d38b77627d

+ 24 - 0
application/admin/controller/Video.php

@@ -4,6 +4,7 @@ namespace app\admin\controller;
 
 use app\common\controller\Backend;
 use think\Db;
+use Overtrue\Pinyin\Pinyin;
 
 /**
  * 视频专区
@@ -92,6 +93,12 @@ class Video extends Backend
                         $validate = is_bool($this->modelValidate) ? ($this->modelSceneValidate ? $name . '.add' : $name) : $this->modelValidate;
                         $this->model->validateFailException(true)->validate($validate);
                     }
+
+                    //首字母
+                    if(empty($params['search_title'])){
+                        $params['search_title'] = $this->shouzimu($params['title']);
+                    }
+
                     $result = $this->model->allowField(true)->save($params);
 
                     $id = $this->model->id;
@@ -403,4 +410,21 @@ class Video extends Backend
         Db::commit();
         $this->success();
     }
+
+    //中文字符串
+    //ZWZFC
+    private function shouzimu($string)
+    {
+        // 小内存型
+        $pinyin = new Pinyin(); // 默认
+        $pinyin_arr = $pinyin->convert($string);
+
+        $shouzimu = '';
+        if(!empty($pinyin_arr)){
+            foreach($pinyin_arr as $key => $val){
+                $shouzimu .= strtoupper(substr($val,0,1));
+            }
+        }
+        return $shouzimu;
+    }
 }

+ 20 - 4
application/api/controller/Demo.php

@@ -3,7 +3,8 @@
 namespace app\api\controller;
 
 use app\common\controller\Api;
-
+use Overtrue\Pinyin\Pinyin;
+use think\Db;
 /**
  * 示例接口
  */
@@ -38,9 +39,20 @@ class Demo extends Api
          'msg':'返回成功'
         })
      */
-    public function test()
+
+    private function shouzimu($string)
     {
-        $this->success('返回成功', $this->request->param());
+        // 小内存型
+        $pinyin = new Pinyin(); // 默认
+        $pinyin_arr = $pinyin->convert($string);
+
+        $shouzimu = '';
+        if(!empty($pinyin_arr)){
+            foreach($pinyin_arr as $key => $val){
+                $shouzimu .= strtoupper(substr($val,0,1));
+            }
+        }
+        return $shouzimu;
     }
 
     /**
@@ -49,7 +61,11 @@ class Demo extends Api
      */
     public function test1()
     {
-        $this->success('返回成功', ['action' => 'test1']);
+        $list = Db::name('video')->select();
+        foreach($list as $key => $video){
+            $shouzimu = $this->shouzimu($video['title']);
+            Db::name('video')->where('id',$video['id'])->update(['search_title'=>$shouzimu]);
+        }
     }
 
     /**