laravel增删改查

1.model层
2.控制层(含图片处理,内容验证)
3.插入信息的页面
4.信息列表页面
5.信息编辑页面
6.在提交页面传递提示信息

补充 ajax删除

  修改
  删除
    

1.model层

fill($data);
        if ($this->save()){
            return true;
        }else{
            return false;
        }
    }

    /*
     * 编辑信息
     */
    public function carouselupdate($id,$data)
    {
        $num = $this->find($id);
        if ($num->update($data)){
            return true;
        }else{
            return false;
        }
    }

    /*
     * 删除轮播图
     */
    public function del($id)
    {
        return $this->where('figure_id',$id)->delete();
    }

}
?>

2.控制层

carousel = new \App\Carousel();
    }

//    展示轮播图内容
    public function index()
    {
        // 轮播图
        $datas = DB::table('anchong_carousel_figure')->orderBy('figure_id','desc')->paginate(5);
        return view('admin.carousel.index',compact('datas'));
    }
//    创建轮播图
    public function create()
    {
        return view('admin.carousel.create');
    }

//    编辑图片内容,跳转到编辑页面
    public function edit($id)
    {
        $datas = $this->carousel->find($id);
        return view('admin.carousel.edit',compact('datas'));
    }

    //    接受更新的数据,更新数据
    public function update($id)
    {
        $data = Input::all();
        $res = $this->carousel->carouselupdate($id,$data);
        if($res){
            return redirect('carousel')->with('message', '更新成功'); //要在模板上用session('message')取值
        }else{
            return back()->with('errors','更新失败');
        }
    }

    //删除某条信息
    public function destroy($id)
    {
        $res = $this->carousel->del($id);
        if ($res){
            return response()->json(['status' => 0, 'msg' => '删除成功']);
        }else{
            return response()->json(['status' => 1, 'msg' => '删除失败,请重试']);
        }
    }

//    保存轮播图信息
//    保存内容
    public function store(\Request $request )
    {

        $input = Input::except('_token','picfile');
        $res = $this->uploadpic('picfile','uploads/images');
        switch ($res){
            case 1: return back()->with('errors','图片上传失败');
            case 2: return back()->with('errors','图片不合法');
            case 3: return back()->with('errors','图片储存失败');
            default :
                $input['figure_img'] = $res; //把得到的地址给picname存到数据库
                if($this->carousel->add($input)){
                    return redirect('carousel')->with('message', '发布成功'); //这个message是存在session里面的,在模板中药通过session取值
                }else{
                    return back()->with('errors','数据填充失败')->withInput();;
                }
        }
    }
}


// 被继承的commonController控制器里面的图片上传处理
class ConmonController extends Controller
{
//    上传图片
    public function uploadpic( $filename, $filepath)
    {
        //        1.首先检查文件是否存在
        if (\Request::hasFile($filename)){
            //          2.获取文件
            $file = \Request::file($filename);
            //          3.其次检查图片手否合法
            if ($file->isValid()){
                //          4.将文件取一个新的名字
                $newName = 'partner'.time().rand(100000, 999999).$file->getClientOriginalName();
                //           5.移动文件,并修改名字
                if($file->move($filepath,$newName)){
                    return $filepath.'/'.$newName;   //返回一个地址
                }else{
                    return 3;
                }
            }else{
                return 2;
            }
        }else{
            return 1;
        }
    }
    // $realPath = $file->getRealPath(); //这个表示的是缓存在tmp文件夹下的文件的绝对路径;
    // $tmpName = $file -> getFileName();   //缓存在tmp文件中的文件名
    // $clientName = $file -> getClientOriginalName(); //获取文件名称
    //$extension = $file->getClientOriginalExtension();   //上传文件的后缀
}



// 如果需要做验证判断
public function leaveStore()
{
    $input = Input::all();
    $rules = [
        'phone'=>'required',
        'content'=>'required',
    ];
    $message = [
        'phone.required'=>'电话号码必须填写!',
        'content.required'=>'反馈信息必须填写!',
    ];
    $validator = Validator::make($input,$rules,$message);
    if ($validator->fails()){
        return back()->withErrors($validator)->withInput();
    }
    $result = $this->leave->add($input);
    if ($result){
        return back()->with('message','留言成功');//这个值是存在session中的
    }else{
        return back()->with('errors','留言失败')->withInput(); //返回错误信息在模板中读出,并将用户填写的信息用withInput();返回
    }

}

3.插入信息的页面

@extends('admin.admin')
@section('content')

轮播图添加

// 1。如果插入信息失败,就这样处理,如果错误是一个变量。就遍历,是一个单量,就直接输出 @if(count($errors)>0)
@if(is_object($errors)) @foreach($errors->all() as $error)

{{$error}}

@endforeach @else

{{$errors}}

@endif @endif
{{ csrf_field() }}
@endsection

4.信息列表页面

@extends('admin.admin')
@section('content')
    
//这个session是插入信息成功,重定向加with(message')里面的信息
@if (session('message'))
    
{{ session('message') }}
@endif

轮播图列表

@foreach($datas as $data) // 1.读图片的时候,前面要加上"/",从根部开始读取 @endforeach
ID 图片标题 图片内容 图片 编辑
{{$data->figure_id }} {{ $data->figure_title }} {{ $data->content }} 编辑 删除
@endsection

5.信息编辑页面

@extends('admin.admin')
@section('content')
    
    

图片编辑

{{ csrf_field() }}
@endsection

6.在提交页面传递成功与否的信息

    //这是在一个被继承的主页面里面写的
    
@if(is_object($errors)) @if (count($errors) > 0)

填写表单出错了哦!

    @foreach ($errors->all() as $error)
  • {{ $error }}
  • @endforeach
@endif @else

出错了哦!

  • {{ $errors }}
@endif @if(Session::has('message'))

{{Session::get('message')}}

@endif @yield('content')

你可能感兴趣的:(laravel增删改查)