DB方式跑数据库热词接口(laravel)

DB方式跑数据库热词接口

    public function shellbox()
    {
        //接收参数
        $name = $this->request->input("name");
        if(!isset($name) || empty($name)) die;
//        $name = "英文绘本";

        //对应添加词
        if($name == "传统国学"){
            $stri = "国学经典诵读";
        }elseif($name == "英文绘本"){
            $stri = "国际获奖精品";
        }elseif($name == "性格养成"){
            $stri = "品格习惯塑造";
        }elseif($name == "健康生活"){
            $stri = "百科知识普及";
        }elseif($name == "系列作品"){
            $stri = "国际获奖精品";
        }elseif($name == "数学科学"){
            $stri = "百科知识普及";
        }elseif($name == "社会品德"){
            $stri = "品格习惯塑造";
        }elseif($name == "人际关系"){
            $stri = "品格习惯塑造";
        }

        //获取目录主键id
        $one = DB::connection('zino')->table("bc_pic_book_tree")->where("name",$name)->first();
        $oneId = $one["id"];
        //获取关联的素材表数据
        $onebelong = DB::connection('zino')->table("bc_pic_book_belong")->where("tree_id",$oneId)->get()->toArray();
        foreach($onebelong as $k=>$v){
            $spe = DB::connection('zino')->table("bc_pic_book")->where("mid",$v["book_mid"])->first();
            //单条数据
            if(!empty($spe["private_tags"])){
                //不为空的情况
                $arr = explode(",",$spe["private_tags"]);
                array_push($arr,$stri);
                $arr_unique = array_unique($arr);
                $str = "";
                foreach ($arr_unique as $value){
                    $str .= $value.",";
                }
                $str = rtrim($str, ',');
                //修改之前的数据
                DB::connection('zino')->table("bc_pic_book")->where("mid",$spe["mid"])->update(['private_tags'=>$str]);
            }else{
                //如果私有标签为空的情况
                DB::connection('zino')->table("bc_pic_book")->where("mid",$spe["mid"])->update(['private_tags'=>$stri]);
            }

        }

        die("执行结束..");
    }
$admin->any("shell/box", "PackController@shellbox");//脚本接口 用于渲染绘本私有标签(临时使用)

涉及知识:

如果该文件没有按照框架规则去写,需要引入DB类

use Illuminate\Support\Facades\DB;

以前在使用laravel的时候 习惯使用模型类,这样关联数据,现在发现只有框架能够拿到一次数据,自己就可以去渲染就行了,用啥框架都一样;

想法:以后公司在开发项目之前开个接口和需求会,开发者叙说明白的点,开发之前撰写对应实际情况的逻辑,避免产生复杂的逻辑和bug,耽误后期时间!

路由 :  http://www.service.com/admin/shell/box

    //处理思路 有值 获取数据 解析数组 追加 去重 拼接 置入  无值:直接修改
    public function shellbox()
    {
        //接收参数
        $name = "英文绘本";
        //对应添加词
        if($name == "传统国学"){
            $stri = "国学经典诵读";
        }elseif($name == "英文绘本"){
            $stri = "国际获奖精品";
        }elseif($name == "性格养成"){
            $stri = "品格习惯塑造";
        }elseif($name == "健康生活"){
            $stri = "百科知识普及";
        }elseif($name == "系列作品"){
            $stri = "国际获奖精品";
        }elseif($name == "数学科学"){
            $stri = "百科知识普及";
        }elseif($name == "社会品德"){
            $stri = "品格习惯塑造";
        }elseif($name == "人际关系"){
            $stri = "品格习惯塑造";
        }

        //获取目录主键id
        $one = PicbookTree::where("name",$name)->first()->toArray();
        $oneId = $one["id"];
       //获取关联的素材表数据
        $onebelong = picbookBelong::where("tree_id",$oneId)->get()->toArray();
        echo "<pre>";
        foreach($onebelong as $k=>$v){
            $spe = Picbook::where("mid",$v["book_mid"])->first()->toArray();
            //单条数据
            if(!empty($spe["private_tags"])){
                //如果不为空的情况 "冬至,饺子,国学"
                //解析数组
                $arr = explode(",",$spe["private_tags"]);
                //向数组中追加一个值
                array_push($arr,$stri);
                //去重、拼接
                $arr_unique = array_unique($arr);
                $str = "";
                foreach ($arr_unique as $value){
                    $str .= $value.",";
                }
                $str = rtrim($str, ',');
                //修改之前的数据
                Picbook::where("mid",$spe["mid"])->update(['private_tags'=>$str]);
            }else{
                //如果私有标签为空的情况
                Picbook::where("mid",$spe["mid"])->update(['private_tags'=>$stri]);
            }

        }

        die;
    }
posted @ 2020-03-19 11:22  锐庆  阅读(209)  评论(0)    收藏  举报