博客列表 >2019-12-31:laravel基础-数据库原生+查询构造器操作

2019-12-31:laravel基础-数据库原生+查询构造器操作

Rambo-Yang
Rambo-Yang原创
2020年01月03日 15:44:01805浏览
  • post 提交表单的时候必须加token,在视图表单里面加一个@csrf,提交的时候把token一起提交,不然会出现419错误。
  • 接收gethe postd的值:先引用类:use Illuminate\Support\Facades\Input;再用Input::get('name')接收
  • 视图不能用命令行创建,只能手动创建,模型创建命令:php artisan make:model [目录名/]模型类名,控制器创建命令:php artisan make:controller [目录名/]控制器类名.
  • 对象转换为数组 ->toArray()

原生的sql操作

1、原生的sql语句查询:DB::select

  1. # 运行原生的sql语句查询,? 号是占位符,表示参数绑定,后面[1] 是绑定数据
  2. $res = DB::select("select * from `shop` where id = ?",[1]);
  3. # 除了使用 ? 表示参数绑定外,也可以使用命名绑定来执行一个查询
  4. $res = DB::select("select * from `shop` where id = :id",['id'=>1]);

2、更新:DB::update

  1. $res = DB::update('update `shop` set cid = 2 where id = ?',[6]);
  2. #成功返回受影响的记录条数,失败:返回0

3、新增:DB::insert

  1. $res = DB::insert('insert into `shop_cate` (`id`,`title`) value (?,?)',[null,'海外车讯']);
  2. #成功返回1

4、删除:DB::delete

  1. $res = DB::delete('delete from `shop_cate` where id =14');
  2. #成功返回1,失败返回0

查询构造器 table()

1,查询:where方法

  1. #查询所有内容 get() 是获取所有条数
  2. $res = DB::table('shop')->where('cid','=','2')->get()->toArray();

  1. #查询指定字段 select() 查询指定字段
  2. $res = DB::table('shop')->select('id','title','cid')->where('cid','=','2')->get()->toArray();

2,whereIn方法

  1. #whereIn() 和 in 或 or 实现的功能一样,但是比or性能更好,or对数据库来说就是灾难,尽量少用
  2. $res = DB::table('shop')->select('id','title','cid')->whereIn('id',[1,3,5])->get()->toArray();
  3. # id是字段,值用数组的形式传进去

3,update方法

  1. # where() 要放在update()方法的前面,update() 方法里面传的是数组
  2. $res = DB::table('shop_cate')->where('id', 7)->update(['title'=>'海外车讯']);
  3. # 成功返回受影响的记录条数,失败返回0

4,delete方法

  1. # where()条件要放在delete()方法前面,delete()里面不需要传值
  2. $res = DB::table('shop_cate')->where('id',13)->delete();
  3. # 成功返回受影响的记录条数,失败返回0

5,insert方法

  1. #新增一条记录
  2. $res = DB::table('shop_cate')->insert(
  3. ['id'=>'1','title'=>'新能源汽车']
  4. );
  5. #新增多条记录,每条记录以数组的形式放到一个数组里面
  6. $res = DB::table('shop_cate')->insert([
  7. ['id'=>'3','title'=>'合资汽车'],
  8. ['id'=>'4','title'=>'新车谍照']
  9. ]
  10. );
  11. # 成功返回1

6,insertGetId方法,插入记录并返回 ID 值

  1. $res = DB::table('shop_cate')->insertGetId(['title'=>'海外车讯']);
  2. # insertGetId()只能新增一条记录,返回的是该条记录的ID主键

总结:

  • whereIn(‘id’, [1,3])表示指定查询 id=1, id=3 的记录
  • whereBetween(‘id’, [1,5])表示指定查询 1-5 的记录(包含1,5)
  • insert()插入成功返回 1,失败返回 0。
  • update()更新成功返回受影响的记录条数。
  • delete()删除成功返回成功返回受影响的记录条数,失败返回0
  • insertGetId()只能新增一条记录,返回的是该条记录的ID主键
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议