laravel基础学习笔记记录(4)---控制器里面对数据库增删该查的多种操作方法

允我心安 提交于 2020-01-07 12:10:04

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

控制器文件:

路径:laravel\app\Http\Controllers\

namespace App\Http\Controllers;
use App\Student;
use Illuminate\Support\Facades\DB;

class StudentController extends Controller{
    public function test1(){//使用DB facade对数据库进行操作
        // return 'test1';
        //首先判断数据库是否连接成功
        // $student=DB::select('select * from student');
        // var_dump($student);
        
        //新增数据
        // $bool=DB::insert('insert into student (name,age) value(?,?)',['bob1',18]);
        // var_dump($bool);
        //更新数据
        // $num=DB::update('update student set age=? where name=?',['23','bob']);
        // var_dump($num);
        //进行有条件的查询
        // $student=DB::select('select * from student where id>?',[1]);
        // var_dump($student);
        //删除
        // $num=DB::delete('delete from student where id=?',[2]);
        // var_dump($num);
    }
    public function query1(){
        // return 'query1';
        //使用查询构造器新增数据
        // $bool=DB::table('student')->insert(['name'=>'alice','age'=>20]);
        // var_dump($bool);
        //获取自增id
        // $id=DB::table('student')->insertGetId(['name'=>'alice1','age'=>21]);
        // var_dump($id);
        //插入多条数据
        // $bool=DB::table('student')->insert(
        //     [
        //         ['name'=>'alice2','age'=>22],
        //         ['name'=>'alice3','age'=>23],
        //         ['name'=>'alice4','age'=>24]
        //     ]
        // );
        // var_dump($bool);
    }
    public function query2(){
        // return 'query2';
        //使用查询构造器更新数据

        //更改指定的内容
        // $num=DB::table('student')
        // ->where('id',7)
        // ->update(['age'=>30]);
        // var_dump($num);
        //自增自减
        // $num=DB::table('student')->increment('age');
        // var_dump($num);
        // $num=DB::table('student')->decrement('age',3);
        // var_dump($num);
        //自增自减带条件
        // $num=DB::table('student')
        // ->where('id',3)
        // ->increment('age',4);
        // var_dump($num);
        // $num=DB::table('student')
        // ->where('id',4)
        // ->decrement('age',3);
        // var_dump($num);
        //自增自减时其他条件发生变化
        $num=DB::table('student')
        ->where('id',4)
        ->decrement('age',3,['name'=>'tom']);
        var_dump($num);

    }
    public function query3(){
        // return 'query3';
        //使用查询构造器删除数据
        //有条件的delete删除
        // $num=DB::table('student')
        // ->where('id',3)
        // ->delete();
        // var_dump($num);
        //删除多条
        // $num=DB::table('student')
        // ->where('id','>=',8)
        // ->delete();
        // var_dump($num);
        //整表删除--谨慎使用
        // DB::table('student')->truncate();
    }
    public function query4(){
        // return 'query4';
        //使用查询构造器查询数据
        //get查询
        // $student=DB::table('student')->get();
        // var_dump($student);
        //first获取表中的第一条数据
        // $student=DB::table('student')->first();
        // var_dump($student);
        //有条件的查询
        // $student=DB::table('student')
        // ->where('id','>=',5)
        // ->get();
        // dd($student);
        // //多个条件查询
        // $student=DB::table('student')
        // ->whereRaw('age>? and id>?',[20,5])
        // ->get();
        // dd($student);
        //返回结果集中指定字段
        // $student=DB::table('student')->pluck('name');
        // dd($student);
        //返回结果集中的字段
        // $student=DB::table('student')->lists('name');
        // dd($student);
        //设定指定键作为下标
        // $student=DB::table('student')->lists('name','id');
        // dd($student);
        //指定可查询字段
        // $student=DB::table('student')
        // ->select('name','age')
        // ->get();
        // dd($student);
        //分段式查询
        DB::table('student')->chunk(2,function($student){
            var_dump($student);
            return false;//只返回第一次分段查询的两条数据,如果不加这行,则所有的数据都是两个一组进行返回
        });
    }
    public function orm1(){//----模型文件得指定表及主键
        // orm查询数据
        //all()
        // $student=Student::all();
        // dd($student);
        //find()
        // $student=Student::find(7);//id=7
        // dd($student);
        //查询构造器在orm中的使用
        //查询构造器中的所有函数在这里也是可以使用的
        // $student=Student::get();
        // dd($student);
        Student::chunk(2,function($student){
            dd($student);
        });
    }
    public function orm2(){
         //使用模型新增数据--时间戳:在模板文件中开启时间戳字段,添加方法getDateFormat
        // $student=new Student();
        // $student->name='xiaohei';
        // $student->age=10;
        // $bool=$student->save();
        // dd($bool);
        //获取时间戳--模板文件需设置时间获取方法--asDateTime
        // $student=Student::find(11);
        // echo date('Y-m-d H:i:s',$student->created_at);
        //使用create新增数据--模板文件中设置允许批量赋值字段$fillable
        $student=Student::create(
            ['name'=>'xiaoqiang','age'=>20]
        );
        dd($student);
    }
    public function orm3(){
        //通过模型更新数据
        // $student=Student::find(7);
        // $student->name='hello';
        // $bool=$student->save();
        // dd($bool);
        //结合查询语句批量更新
        $num=Student::where('id','>',13)->update(['age'=>28]);
        dd($num);
    }
    public function orm4(){
        //通过模型删除
        // $student=Student::find(13);
        // $bool=$student->delete();
        // dd($bool);
        //通过主键删除
        // $num=Student::destroy(12);
        // $num=Student::destroy(11,12);
        // $num=Student::destroy([10,9]);
        // dd($num);
        // 删除指定条件的数据
        $num=Student::where('id','>',6)->delete();
        dd($num);
    }
    public function section1(){
        //视图加载
        $name='bob';
        return view('student.student',['name'=>$name]);
    }
    public function urlTest(){
        return 'urlTest';
    }
}

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!