标签:derby 格式 error: success 管理 循环 mode headers 结构
<a href="javascript:;"><cite>分类管理</cite></a>
<a _href="{{ url(‘admin/cate‘) }}"><cite>分类列表</cite></a>
<a _href="{{ url(‘admin/cate/create‘) }}"><cite>添加分类</cite></a>
//后台分类模块相关路由
Route::resource(‘cate‘, ‘CateController‘);
f:\xampp\php\php.exe artisan make:controller Admin/CateController --resource
f:\xampp\php\php.exe artisan make:model Model\Cate
class Cate extends Model
{
//1.关联的数据表
public $table = ‘category‘;
//2.主键
public $primaryKey = ‘cate_id‘;
//3.允许批量操作的字段
//不允许的为空,意思是都允许
public $guarded = [];
//4.是否维护crated_at和updated_at字段
public $timestamps = false;
}
public function create()
{
//获取一级类
$cate = Cate::where(‘cate_pid‘,0)->get();
//返回分类添加页面
return view(‘admin.cate.add‘,compact(‘cate‘));
}
<span class="x-red">*</span>分类名称
<span class="x-red">*</span>分类标题
<span class="x-red">*</span>排序
<button class="layui-btn" lay-filter="add" lay-submit="">增加</button>
<input type="text" name="cate_name">
<input type="text" name="cate_title">
<input type="text" name="cate_order">
<select name="cate_pid">
<option value="0">==顶级分类==</option>
@foreach($cate as $v)
<option value="{{ $v->cate_id }}">{{$v->cate_name}}</option>
@endforeach
</select>
form.on(‘submit(add)‘, function(data) {
//发异步,把数据提交给php
$.ajax({
type: ‘POST‘,
url: ‘/admin/cate‘,
dataType: ‘json‘,
headers: {
‘X-CSRF-TOKEN‘: $(‘meta[name="csrf-token"]‘).attr(‘content‘)
},
//data.field为当前容器的全部表单字段,名值对形式:{name: value}
data: data.field,
success: function(data) {
//弹层提示添加成功,并刷新父页面
//console.log(data);
if (data.status == 0) {
layer.alert(data.message,{icon:6},function(){
parent.location.reload(true);
});
}else{
layer.alert(data.message,{icon:5});
}
},
error: function() {
//错误信息
}
});
return false;
});
public function store(Request $request)
{
//1.接收添加的分类数据
$input = $request->except(‘_token‘);
//2.表单验证
//3.添加到数据库中
$res = Cate::create($input);
//4.根据添加是否成功,给客户端返回一个json格式的反馈
if ($res) {
$data = [
‘status‘=>0,
‘message‘=>‘添加成功‘,
];
}else {
$data = [
‘status‘=>1,
‘message‘=>‘添加失败‘,
];
}
//json_encode($data);
return $data;
}
public function index()
{
//获取分类数据
$cates = Cate::get();
//将分类数据返回给分类页面
return view(‘admin.cate.list‘,compact(‘cates‘));
}
<tr>
<th>ID</th>
<th>分类名称</th>
<th>分类标题</th>
<th>操作</th>
</tr>
@foreach($cates as $v)
<tr>
<td>{{ $v->cate_id }}</td>
<td>{{ $v->cate_name }}</td>
<td>{{ $v->cate_title }}</td>
<td>
<a title="编辑"></a>
<a title="删除"></a>
</td>
</tr>
@endforeach
//格式化分类数据的方法
public function tree()
{
//获取所有的分类数据
$cates = $this->orderBy(‘cate_order‘,‘asc‘)->get();
//调用编写格式化方法getTree(),将格式化的分类数据返回给模型
return $this->getTree($cates);
}
//格式化分类数据的方法
public function getTree($category)
{
//排序
//定义存放最终排完序的分类数据数组$arr
$arr = [];
//1.循环所有分类数据先获取一级类
foreach ($category as $k => $v) {
//一级类(如果循环的数据的cate_pid==0,则它是一级类)
if ($v->cate_pid == 0) {
//将一级类放入$arr数组的值中
$arr[] = $v;
//2.获取一级类下的二级类
//继续循环剩下的分类数据,
foreach ($category as $m => $n) {
//如果一级分类的cate_id等于剩下循环出来的分类数据的cate_pid(父级分类id)
if ($v->cate_id == $n->cate_pid) {
//给二级类名称前面添加缩进
$n->cate_name = ‘|——‘.$n->cate_name;
//将二级类放入$arr数组的值中
$arr[] = $n;
}
}
}
}
//将获得的排完序以后的数组$arr返回给tree()方法
return $arr;
}
public function index()
{
//实例化排完序的模型类,调用它的tree方法
$cates = (new Cate())->tree();
//将分类数据返回给分类页面
return view(‘admin.cate.list‘,compact(‘cates‘));
}
标签:derby 格式 error: success 管理 循环 mode headers 结构
原文地址:https://www.cnblogs.com/fangsheng90/p/14117748.html