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;
}

浙公网安备 33010602011771号