Laravel使用ORM操作数据库增删改查

时间:2019-01-11
本文章向大家介绍Laravel使用ORM操作数据库增删改查,主要包括Laravel使用ORM操作数据库增删改查使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

要了解比全方面的可以看laravel文档:https://laravel-china.org/docs/laravel/5.5/eloquent/1332

或者看我前面的几个博客的基础操作 进行了解  这下面只是给出了一个大概

首先,我们先创建模型 

<?php

namespace App\Model;

use Illuminate\Database\Eloquent\Model;


class Vote extends Model
{
	//指定表名
	protected $table = 'vote';
	//指定主键
    protected $primaryKey = 'id';

   //时间变成fales
    public $timestamps=false;
}



?>

然后我们控制器里面可以写    我们渲染的时候是转化成了数组 所以不是->了 直接用[]包着就行

<?php 
namespace App\Http\Controllers\vote;

use Illuminate\Support\Facades\DB;

use App\Http\Controllers\Controller;

use Illuminate\Http\Request;

use App\Model\Vote;

class VoteController extends Controller
{
	// 展示
	public function voteindex()
	{   
		// 查看全部数据,因为出来很多没用的,所以转化数组
		$data = Vote::all()->toArray();
		return view('vote.voteindex',['data'=>$data]);
        
	}
	public function voterole(Request $request)
	{
		if($request->isMethod('post')){
		$list = request()->all();
	    //获得文件名字为img的所有x
	    $img = request()->file('file');
        //  print_r($img);die;
        $img_name = $img->getClientOriginalName();//图片名称
        $img_txt = $img->getClientOriginalExtension();//图片后缀
        // print_r($img_txt);
        $rand = rand(100000,999999);
        $new_name = date('YmdHis').$rand.'.'.$img_txt;
        $img->move('./vote',$new_name);
        // 前台传来的值 用变量接收一下
        $data = [
         'title' => $list['title'],
         'tel' => $list['tel'],
         'sex'=>$list['sex'],
         'speech' => $list['speech'],
         'text'=>$list['text'],
         'file'=>$new_name
       ];
       // 执行添加 入库
     $info=Vote::insert($data);
     if($info){
        return redirect('voteindex');
     }else{
     	return redirect('voterole');
     }
	}else{
    	return view('vote.voterole');
    }
    }


    //修改
        public function voteupdate(Request $request,$id)
    {
    	if($request->isMethod('post'))
    	{
    	$list = request()-all();
    	//获取文件名字为img的所有x
    	$img = request()->file('file');
        //  print_r($img);die;
        $img_name = $img->getClientOriginalName();//图片名称
        $img_txt = $img->getClientOriginalExtension();//图片后缀
        // print_r($img_txt);
        $rand = rand(100000,999999);
        $new_name = date('YmdHis').$rand.'.'.$img_txt;
        $img->move('./vote',$new_name);
        // 前台传来的值 用变量接收一下
        $data = [
         'title' => $list['title'],
         'tel' => $list['tel'],
         'sex'=>$list['sex'],
         'speech' => $list['speech'],
         'text'=>$list['text'],
         'file'=>$new_name
       ];
       //执行
       $info = vote::where('id',$id)->update($data);
       if($info){
       	    return redirect('voteindex'); 
       }else{
       	    return rediret('voteupdate');
       }
    	}else{
    		$vote = Vote::find($id)->toArray();
    		return view('vote.voteupdate',['vote'=>$vote]);
    	}	
    }
    //删除
    public function votedel($id)
    {
    	$vote = Vote::find($id);
    	$data = $vote->delete();
    	if($data){
    		return redirect('voteindex');
    	}
    }


}



?>