laravel框架知识总结(一)

1.先安装composer,然后通过composer 根据php适配性安装合适的版本。
安装5.2版本示例: composer create-project laravel/laravel=5.2.* --prefer-dist D:/MYTEST/laravel_blog
2.路由的分类以及使用方法 demo

<?php
Route::get('/', function () {
    return view('welcome');
});

//基础路由
Route::get('basic1',function (){
    return 'Hello Word3';
});

Route::post('basic2',function(){
    return 'post qingqiu';
});

//多请求路由
Route::match(['get','post'],'basic11',function(){
    return 'basic11';
});

Route::any('basic22',function (){
    return 'basic22';
});

//路由参数

 Route::get('user/{id}',function($id){
     return 'User-id-'.$id;
 })->where('id','[0-9]+');
 Route::get('user/{name?}',function($name='jake'){
     return 'User-name-'.$name;
 })->where('name','[a-zA-Z]+');

Route::get('user/{id}/{name?}',function($id,$name='unknow'){
    return 'User-id-' . $id.'---name-' . $name;
})->where(['id'=>'[0-9]+','name'=>'[a-zA-Z]+']);

//路由别名

Route::get('user/member-center',['as'=>'center',function(){
    return route('center');
}]);

//路由群组
//---例:/member/user/344  多一层才能访问到群组里的地址
Route::group(['prefix'=>'member'],function(){
    Route::get('user/{id}',function($id){
        return 'member--User-id-'.$id;
    })->where('id','[0-9]+');
});

//路由中输出视图
Route::get('welcome/index', function () {
    return view('welcome');
});

3.控制器(命名空间/命名规则/向视图传值) demo

<?php
namespace App\Http\Controllers;
class MemberController extends Controller
{
    public function info($id)
    {
        return view('member/info',[
            'name'=>'jake',
            'age'=>20
        ]);
    }
}

4.视图(接收数据) demo

member/info blade
姓名 :{{$name}}
年龄 :{{$age}}

5.使用DB facade 实现增删改查 demo

 public function test1(){
        //使用DB  facade 实现增删改查
        //新增(返回布尔值)
       /* $re=DB::insert('insert into student(name,age) values(?,?)',['imooc',20]);
        var_dump($re);*/
        //查询
      /* $students=DB::select('select * from student');
        dd($students);*/
       /* $students=DB::select('select * from student where id>?',[1001]);
        dd($students);*/
       //更新(返回受影响行数)
        /*$re=DB::update('update student set age =? where name =?',['35','jake']);
        var_dump($re);*/
        //删除(返回删除的条数)
        /*$re=DB::delete('delete from student where id>?',[1001]);
        dd($re);*/

    }
 

6.使用查询构造器进行数据操作 demo

   public function query1(){
        //使用查询构造器新增数据
        //---新增 (返回布尔值)
        /*$bool=DB::table('student')->insert(['name'=>'imooc','age'=>18]);
        var_dump($bool);*/
        //---新增  (返回新增记录的id)
       /* $insertid=DB::table('student')->insertGetId(['name'=>'david','age'=>34]);
        var_dump($insertid);*/
       //---批量新增(返回布尔值)
        $bool=DB::table('student')->insert([
           ['name'=>'name1','age'=>20],
            ['name'=>'name2','age'=>21],
        ]);
        var_dump($bool);
    }
    public function query2(){
        //使用查询构造器更新数据
        //更新  (返回受影响的行数)
        /*$re=DB::table('student')->where('id',1009)->update(['age'=>200]);
        var_dump($re);*/
        //自增  (返回受影响的行数)
//        $re=DB::table('student')->increment('age');//age自增1
//        $re=DB::table('student')->increment('age',3);//age自增3
        //自减  (返回受影响的行数)
//        $re=DB::table('student')->decrement('age');//age自减1
        $re=DB::table('student')->where('id',1009)->decrement('age',3);//age自减3
        var_dump($re);
    }
    public function query3(){
        //使用查询构造器删除数据
        //删除  (返回删除的行数)
//        $re=DB::table('student')->where('id',1010)->delete();
       /* $re=DB::table('student')->where('id','>=',1010)->delete();
        var_dump($re);*/
        //truncate 清空表  (无返回值)
        DB::table('student')->truncate();
    }
    public function query4(){
        //使用查询构造器查询数据
        //get()
        //$re=DB::table('student')->get();
        //first  获取结果集中的第一条数据
        //$re=DB::table('student')->first();
//        $re=DB::table('student')->orderBy('id','desc')->first();
        //where
      /*  $re=DB::table('student')
            ->where('id','>=',12)
            ->get();*/
        //多个条件查询
       /* $re=DB::table('student')
            ->whereRaw('id>=? and age > ?',[10,20])
            ->get();*/
       //pluck 返回结果集中指定的字段对应的值
   /*     $re=DB::table('student')
            ->whereRaw('id>= ? and age>?',[10,20])
            ->pluck('name');*/
        //lists 返回结果集中指定的字段对应的值(可以指定返回数组的下标)
       /* $re=DB::table('student')
            ->whereRaw('id>= ? and age>?',[10,20])
            ->lists('name','id');//指定id为返回数组的下标*/
       //select
       /* $re=DB::table('student')
            ->select('id','name','age')
            ->get();*/
        //dd($re);
        //chunk  //每次查询n条记录,不停的查询,直到查询所有记录或者  遇到  return  false
        echo '<pre>';
        $re=DB::table('student')->chunk(2,function($re){
            var_dump($re);
            return false;
        });
    }
    public function query5(){
        //聚合函数
        /*$re=DB::table('student')->count();*/
        //$re=DB::table('student')->max('id');
        //$re=DB::table('student')->min('id');
       //$re=DB::table('student')->sum('age');
        $re=DB::table('student')->avg('age');
        var_dump($re);
    }

7.使用Eloquent ORM 进行数据操作(推荐)

  public function orm1()
    {
        //all()  查询所有
//       $re=Student::all();
        //查询一条
        //find()
//        $re=Student::find(10);
        //findOrFail()  根据主键进行查找,如果没有就报错
//        $re=Student::findOrFail(104);
        //$re=Student::get();
       /* $re=Student::where('id','>',12)
            ->orderBy('age','desc')
            ->first();*/
       //dd($re);
      /* Student::chunk(2,function($result){
           var_dump($result);
       });*/
      //聚合函数
//        $re=Student::count();
//        $re=Student::sum('age');
//        $re=Student::avg('age');
//        $re=Student::max('age');
         $re=Student::min('age');
        var_dump($re);
    }
    public function orm2()
    {
        //使用模型新增数据
      /*  $student=new Student();
        $student->name='tes11';
        $student->age=22;
        //save() 返回布尔值 [此方法自动维护表中的created_at 和 updated_at字段]
        $re=$student->save();
        dd($re);*/
       /* $re=Student::find(16);
        echo $re->created_at;*/
       //使用模型新增数据
        /*$re=Student::create(['name'=>'imooc','age'=>18]);
        dd($re);*/
        //firstOrCreate() 根据属性查找信息,如果没有,则新增,并返回新的实例
        /*$rs=Student::firstOrCreate(
            ['name'=>'imoocss33']
        );*/
        //firstOrNew()    根据属性查找信息,如果没有,则返回新的实例,如果需要新建保存该记录,则使用save()
        $rs=Student::firstOrNew(
           ['name'=>'imoocssssd']
       );
        $rs->save();
       // dd($rs);
        echo '<pre>';
        var_dump($rs);
    }
    public function orm3()
    {
        //通过模型更新数据
        /*$student=Student::find(39);
        $student->name='name_who';
        $bool=$student->save();
        var_dump($bool);*/
        $num=Student::where('id','>=','40')->update(['age'=>41]);
        var_dump($num);
    }
    public function orm4()
    {
        //通过模型删除数据
      /*  $student=Student::find(22);
        $bool=$student->delete();
        var_dump($bool); */
       //通过主键删除
       // $num=Student::destroy([42,43]);//删除id是 42,43的记录
       // $num=Student::destroy(40,41);  //删除id是 40,41的记录
        $num=Student::where('id','>',17)->delete();
        var_dump($num);
    }
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值