不要轻易放弃。学习成长的路上,我们长路漫漫,只因学无止境。学无止境

laravel基础数据库操作、路由

碧羽墨轩 2019-02-20 11:37:03 140人围观
简介学习laravel框架,每次看文档,不如自己记录一次来得实际,忘记了方便查阅。

        数据库操作

        记录一

        //判断数据库是否链接成功
        //$student=DB::select('select * from student');
        //var_dump($student);
        //新增数据
        //$bool=DB::insert('insert into student(name,age) value(?,?)',['bob',20]);
        //var_dump($bool);
        //更新数据
        //$bool=DB::update('update student set age=? where name=?',[1,'bob']);
        //var_dump($bool);
        //删除数据
        //$bool=DB::delete('delete from student where name=?',['bob']);
        //var_dump($bool);
        //有条件的查询
        //$student=DB::select('select * from student where id=?',[1]);
        //var_dump($student);

        记录二

        //新增数据
        //$bool=DB::table('student')->insert(['name'=>'李四','age'=>1,'sex'=>1]);
        //var_dump($bool);
        //想要获取自增的id
        //$id=DB::table('student')->insertGetId(['name'=>'李四1','age'=>2,'sex'=>2]);
        //var_dump($id);
        //想要插入多条数据
        /*$bool=DB::table('student')->insert([
            ['name'=>'lisi1','age'=>2,'sex'=>1],
            ['name'=>'lisi2','age'=>2,'sex'=>1],
            ['name'=>'lisi3','age'=>2,'sex'=>1],
            ['name'=>'lisi4','age'=>2,'sex'=>1],
        ]);
        var_dump($bool);*/

        记录三

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

        记录四

        //有条件的使用delete删除数据
        //$bool=DB::table('student')->where('id',3)->delete();
        //var_dump($bool);
        //删除多条数据
        //$bool=DB::table('student')->where('id','>=',8)->delete();
        //var_dump($bool);
        //谨慎使用,整表删除
        //DB::table('student')->truncate();

        记录五

        //get();获取表中的所有数据
        //$student=DB::table('student')->get();
        //dd($student);
        //first();获取表中的第一条数据
        //$student=DB::table('student')->first();
        //dd($student);
        //where();有条件的查询
        //$student=DB::table('student')->where('id','>=',5)->get();
        //var_dump($student);
        //给where加多个条件
        //$student=DB::table('student')->whereRaw('id>=? and age>=?',[5,27])->get();
        //var_dump($student);
        //pluck();返回结果集中指定的字段
        //$student=DB::table('student')->pluck('name');
        //var_dump($student);
        //lists();返回结果集中指定的字段
        //$student=DB::table('student')->lists('name');
        //var_dump($student);
        //lists();还可以设置指定的键作为下表
        //$student=DB::table('student')->lists('name','age');
        //var_dump($student);
        //select();可以查询字段
        //$student=DB::table('student')->select('name','age')->get();
        //dd($student);
        //chunk();分段式查询
        //DB::table('student')->chunk(2,function($student){
        //    var_dump($student);
        //    return false;
        //});

        记录六

        //all();
        //$Student=Student::all();
        //dd($Student);
        //find();
        //$Student=Student::find(5);
        //dd($Student);
        //查询构造器在ORM中的使用
        //查询构造器中的所有的函数在这里也是可以使用的
        //$Student=Student::get();
        //dd($Student);
        //Student::chunk(2,function($Student){
        //    dd($Student);
        //});   

        记录七

        //使用模型新增数据
        /*$student= new Student();
        $student->name='小白1';
        $student->age='20';
        $student->sex=2;
        $bool=$student->save();
        var_dump($bool);*/
        //$student=Student::find(13);
        //echo date('Y-m-d H:i:s',$student->created_at);
        //使用模型的create方法新增数据(注意:不允许批量赋值)
        /*$student=Student::create(
            ['name'=>'小强2','age'=>13]
        );
        dd($student);*/

        记录八

        //通过模型更新数据
        /*$student=Student::find(7);
        $student->name='hello';
        $student->age=110;
        $bool=$student->save();
        dd($bool);*/
        //结合查询语句批量更新
        //$num=Student::where('id','>',10)->update(['age'=>30]);
        //dd($num);

        记录九

        //通过模型删除
        /*$student=Student::find(13);
        $bool=$student->delete();
        dd($bool);*/
        //通过主键删除
        //$num=Student::destroy(14,15);
        //$num=Student::destroy([10,11]);
        //dd($num);
        //删除指定条件的数据
        //$num=Student::where('id','>',6)->delete();
        //dd($num);

        记录十

        $name='bob';
        return view('student.student',['name'=>$name]);


        路由操作

        Route::get('/', function () {
            return view('welcome');
        });
        //基本路由
        Route::get('basic',function(){
            return 'basic';
        });
        Route::post('basic1',function(){
            return 'basic1';
        });
        //多请求路由,响应指定的路由
        Route::match(['get','post'],'multy',function(){    
            return 'multy';
        });
        //响应所有的路由
        Route::any('multy1',function(){    
            return 'multy1';
        });
        //路由参数
        Route::get('user/{id}',function($id){    
            return $id;
        });
        //路由参数使用默认值
        Route::get('user1/{name?}',function($name=null){    
            return $name;
        });
        //扩展一点把name的形式使用正则匹配一下
        Route::get('user2/{name?}',function($name){    
            return $name;
        })->where('name','[A-Za-z]+');
        //路由使用多个参数
        Route::get('user3/{id}/{name?}',function($id,$name){    
            return $id."====>".$name;
        })->where(['id'=>'[0-9]+','name'=>'[A-Za-z]+']);
        //路由别名
        Route::get('user4/center',['as'=>'center',function(){    
            return route('center');    
        }]);
        //路由中输出视图
        Route::get('shitu', function () {
            return view('welcome');
        });
        //控制器中的代码与路由结合
        //第一种写法
        //Route::get('member/info','MemberController@info');
        //第二种写法
        //Route::get('member/info',['uses'=>'MemberController@info']);
        //第三种写法
        Route::any('member/info',['uses'=>'MemberController@info']);
        Route::any('test1',['uses'=>'StudentController@test1']);
        Route::any('query1',['uses'=>'StudentController@query1']);
        Route::any('query2',['uses'=>'StudentController@query2']);
        Route::any('query3',['uses'=>'StudentController@query3']);
        Route::any('query4',['uses'=>'StudentController@query4']);
        Route::any('orm1',['uses'=>'StudentController@orm1']);
        Route::any('orm2',['uses'=>'StudentController@orm2']);
        Route::any('orm3',['uses'=>'StudentController@orm3']);
        Route::any('orm4',['uses'=>'StudentController@orm4']);
        Route::any('section1',['uses'=>'StudentController@section1']);

注:本文转载自碧羽墨轩,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如有侵权行为,请联系我们,我们会及时删除。

上一篇:js拉取数据渲染(分页,懒加载)

下一篇:PHP如何实现异步调用方法

文章评论