千家信息网

laravel中blog项目之后台多级分类列表创建及Ajax异步修改分类排序

发表于:2025-11-09 作者:千家信息网编辑
千家信息网最后更新 2025年11月09日,小编给大家分享一下laravel中blog项目之后台多级分类列表创建及Ajax异步修改分类排序,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们
千家信息网最后更新 2025年11月09日laravel中blog项目之后台多级分类列表创建及Ajax异步修改分类排序

小编给大家分享一下laravel中blog项目之后台多级分类列表创建及Ajax异步修改分类排序,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

一、后台文章分类页多级分类列表

1)添加多级分类注意cate_pid和cate_id一样就证明它在哪个分类下

2)添加个方法处理分类

public function getTree(){}

3)在上面的方法里调下面的方法

$data = $this->getTree($categroy);public function index(){$categroy = CategroyModel::all();$data = $this->getTree($categroy,'cate_name','cate_pid','cate_id');return view('home/categroy/index')->with('data',$data);}

4)下面打印一下看上面参数是否传进来

public function getTree($data){dd($data);}

5)首先把cate_pid是0的给筛选出来,然后再次循环把cate_pid和cate_id相等的筛选出来,为了让方法更加强壮,我们想到用传参的方式,

public function getTree($data,'$file_pid='pid',$file_id='id',$pid=0){     $arr = array();   foreach($data as $key =>$value){if($value->$file_pid==$pid){$data[$key]["_cate_name"]=$data[$key]["cate_name"];$arr[] = $data[$key];foreach($data as $k=>$v{                    if($value->$file_pid==$v->$file_id){      //新定义个字段把分类的下级定义出来$data[$k]["_cata_name"]='-->'.$data[$k]["cate_name"]$arr[]=$data[$v];}       }      }   }

更好的优化代码:

把控制器里的整理数据的过程放到模型中

public static function tree(){   //用的是静态方法$categroy =  CategroyModel::all();return (new CategroyModel)->getTree($categroy,'cate_name','cate_pid','cate_id');}public function tree(){$categroy = $this->all();return $this->getTree($categroy,'cate_name','cate_pid','cate_id');}public function getTree($data,'$file_pid='pid',$file_id='',$pid=0){$arr = array();foreach($data as $key =>$value){if($value->$file_pid==$pid){$data[$key]["_cate_name"]=$data[$key]["cate_name"];$arr[] = $data[$key];foreach($data as $k=>$v{if($value->$file_pid==$v->$file_id){//新定义个字段把分类的下级定义出来$data[$k]["_cata_name"]='-->'.$data[$k]["cate_name"]$arr[]=$data[$v];}}}}

控制器里的修改:

public function index(){// $data= CategroyModel::Tree();   不是静态方法不能用静态方法调用   调用静态方法$data =(new CategroyModel)->Tree();   调用不是静态方法return view('home/categroy/index')->with('data',$data);}

二、后台文章分类页Ajax异步修改分类排序

1)看主模板里是否引入jquery

2)写一下JS

$(function(){});

写jquery的基本格式

$(function(){alert();});

3)要用JS发送异步

因为我要操作这个input表单时发送事件,

  //加一个事件onchange,请求方法onchangeOrder方法

4)(2)是测试的,

function onangeOrder(){alert();}

5)接下来发送异步请求了

function onchangeOrder(){$.post("",{});//第一个url,第二个参数,第三个是回调函数function($data){}回调函数里我们用$data接收}

6)分配地址

function onchangeOrder(){$.post("{{url('admin/cate/changeorder')}}",{},function($data){});}

7)分配路由

Route::post('admin/changeorder','CategoryController@changeorder');

8)新建控制器CategoryController.php

public function changeorder(){      echo 123;   }

9)把token值传给后台

function onchangeOrder(){$.post("{{url('admin/cate/changeorder')}}",{'_token':'{{csrf_token()}}'},function($data){});}

10)再传几个参数过去,第一个参数是_token参数,第二个参数是修改哪个参数的信息,第三个参数就是把这个分类信息改成多少

修改哪个条的信息

cate_id}})" value="{{$v->cate_order}}">

这个分类信息改成多少

cate_id}})" value="{{$v->cate_order}}"> //能找到当前输入的值到底多少

11)下面的接受参数,第一个就是对象,第二个就是cate_id

function onchangeOrder(obj,cate_id){$.post("{{url('home/cate/changeorder')}}",{'_token':'{{csrf_token()}}'},function($data){});}

12)通过obj读取咱们当前输入的值到底是多少

那么咱们定义一个变量,cate_order 等于$()然后把obj传进去,然后它的.val()

function onchangeOrder(obj,cate_id){var cate_order=$(obj).val();$.post("{{url('home/cate/changeorder')}}",{'_token':'{{csrf_token()}}'},function($data){});}

还有cate_id就是咱们传过来 的参数就不用处理了

13)下面却几个参数处理一下

function onchangeOrder(obj,cate_id){var cate_order=$(obj).val();$.post("{{url('home/cate/changeorder')}}",{'_token':'{{csrf_token()}}','cate_id':cate_id,'cate_order':cate_order},function($data){});}

14)传给controller后怎么接受

public function changeorder(){//用input方法接受前台传过来的值 $input= Input::all();print_r( $input);}

15)然后取数据库对应cate_id数据,改变对应cate_order的值,然后跟新这条数据

public function changeorder(){//用input方法接受前台传过来的值$input= Input::all();    $cate=CategroyModel::find($input['cate_id']);      //然后改变order参数   $cate->cate_order=$input['cate_order'];    //更新数据库    $res = $cate->update();}

16)更新时,给前台一个提示,这是我们给一个$data[]传给前台

public function changeorder(){//用input方法接受前台传过来的值$input= Input::all();$cate=CategroyModel::find($input['cate_id']);//然后改变order参数$cate->cate_order=$input['cate_order'];//执行更新操作$res=$cate->update(); if($res){        $data=[            'status'=> 0,            'msg'=>'更新成功!',        ];    }else{        $data=[            'status'=> 1,            'msg'=>'更新失败!',        ];    }   return $data;   //别忘了返回值}

17)获取回调函数的值

function onchangeOrder(obj,cate_id){var cate_order=$(obj).val();$.post("{{url('home/cate/changeorder')}}",{'_token':'{{csrf_token()}}','cate_id':cate_id,'cate_order':cate_order},function(data){alert(data.msg);});}

以上是"laravel中blog项目之后台多级分类列表创建及Ajax异步修改分类排序"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

分类 方法 参数 后台 前台 数据 静态 更新 信息 就是 排序 函数 控制器 篇文章 面的 处理 控制 项目 三个 下级 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 滨海新区软件开发培训班 公司网络安全部门年终总结 北京每每度网络技术有限公司 逆水寒服务器哪个最好用 华硕n56u 打印服务器 网络安全基础知识书籍推荐 切实提高网络安全防范意识 数据库分组取前10 腾讯云服务器在哪管理 桂林网络安全培训机构收费标准 数据库建模课程设计 什么叫网络安全专项整治 数据库应用系统模式有哪两类 从事软件开发要看的书 浪潮服务器应用在哪些地方 找出带表的数据库 公司服务器安全防护方案 北京软件开发王朔 蚂蚁科技互联网金融 数据库中查询的功能是什么 西城区省电软件开发报价 梦幻手游长安城服务器怎么样 医药销售系统数据库课设总结 四川建立dna技术数据库 洛阳维奕网络技术有限公司电话 一级考网络安全 电脑服务器生产线厂家地址 金苗宝提示未能连接到服务器 国内主流数据库相应的厂商 海淀区管理网络技术服务包括什么
0