您好!欢迎来到雅安论坛
关注我们
扫码关注官方微信
手机版
手机扫描直接访问
欢迎: 附近的朋友。
111111

laravel---查询语句

[复制链接]
本站网友  发表于 2022-11-25 10:00:41 |阅读模式 打印 上一主题 下一主题
本帖最后由 匿名 于 2022-11-25 10:04 编辑

最近使用 larval 框架开发一些系统,但是它的查询语句常常忘记了,下面整理一些常见的 laravel 框架查询语句:
1、简单查询
  1. $result = User::where('status',1)->get(); // 查询多条记录
  2. $result = User::where('id',1)—>first(); // 查询单条记录
复制代码

2、查询字段
  1. $result = User::where('id',1)->select('id','name'); // 查询某几个字段
  2. $result = User::select('id','name')->find($id); // 查询某几个字段
  3. $result = User::select('id','name')->where('id', $id)->first(); // 查询某几个字段
  4. $result = User::where('id', $id)->first(['id', 'name']); // 查询某几个字段
复制代码



3、查询单个字段
  1. $result = User::where('id',$id)->value('name');
复制代码

4、多条查询
  1. $result = User::where('id','<',100)->get(['id','name']); // 多条查询
  2. $result = User::where('id','<',100)->get(['id','name'])->toArray(); // 转数组
复制代码



5、获取索引数组
  1. $result = User::where('id','<',10)->pluck('id'); // 索引数组
  2. $result = User::where('id','<',10)->pluck('name','id');// id=>name的关联数组
复制代码



6、where查询
  1. $result = User::where('id',$id)->first();
  2. $result = User::where('id','!=',$id)->first();
  3. $result = User::where('status',1)->get();
  4. $result = User::where('status','!=',0)->get();
  5. $result = User::where([['vip', 1],['status',1]]); // 多条件
复制代码


7、when查询
  1. $list = User::when($keywords, function ($query) use ($keywords) {  return $query->where('name', 'like', '%' . $keywords . '%');})->orderBy('sort')->orderByDesc('id')->paginate(12);
复制代码

8、模糊查询
  1. $result = User::where('name','like','%'.$keyword.'%')->get(); // 模糊查询
  2. $result = User::where(DB::raw('concat(title," ",firstname," ",lastname)'),'like','%'.$keyword.'%')->get(); // 多字段模糊查询
复制代码



9、IN查询
  1. $ids = '1,2,3,4';$idArr = explode(',',$ids);
  2. $result = User::whereIn('id',$ids)->get();
  3. $result = User::whereIn('id',$ids)->orWhereIn('pid',$ids)->get();
  4. $result = User::whereIn('id',[110,119,120])->get(['name']);
  5. $result = User::whereNotIn('id',[110,119,120])->get(['name']);
复制代码



10、排序
  1. $result = User::orderBy('created_at')->get(['id','name']);
  2. $result = User::orderBy('created_at','desc')->get(['id','name']);
  3. $result = User::orderByDesc('created_at')->get(['id','name']);
复制代码



11、with管理查询
  1. $result = User::with('orders:user_id,id')->get(['id','name']);
  2. $result = User::with('orders:user_id,id')->has('orders')->get(['id','name']);
  3. $result = User::with('orders:user_id,id')->whereHas('orders')->get(['id','name']);
  4. $result = User::with('orders:user_id,id')->whereHas('orders',function($query){})->get(['id','name']);
复制代码



12、limit查询
  1. $result = User::orderByDesc('created_at')->offset((3-1)*10)->limit(10)->get();
复制代码

13、聚合查询
  1. $result = User::where('active',1)->count();
  2. $result = User::where('active',1)->max('gold');
  3. $result = User::where('active',1)->min('gold');
复制代码



14、分组查询
  1. $result = User::whereBetween('create_at',[$startTime,$endTime])->groupBy('hobby')->get()->toArray();
复制代码

15、Join关联查询

$result = Db::table('user as u')->whereRaw('u.status = 3')    ->leftJoin('order as o','u.id','=','o.user_id')    ->get();$result = Db::table('user as u')    ->join('order as o','u.id = o.user_id')    ->orderBy('u.id','DESC')    ->get();

16、别名
  1. $result = User::select('name','nikename as realname')->get();
  2. $result = User::select('name')->addSelect('nikename as realname')->get();
复制代码



17、区间查询
  1. $result = User::where('created_at','>',Carbon::now()->subDay())->get();
  2. $result = User::where([['status', 1],['created_at', '>', Carbon::now()->subDay()]]);
复制代码




回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关注2

粉丝15

帖子143

发布主题
阅读排行 更多
广告位
欢迎使用无需登录在线留言
姓名 

手机 

内容
关注我们
  • 关注官方微信

  • 论坛QQ群

Sitemap小黑屋Archiver雅安论坛( 已经安全运行 ) |网站地图

在线客服

会员收集的资源(插件源码等),仅方便学习,您需要自行承担版权风险,未获得原作者授权的情况下,请勿将文章公开发布或用于商业用途。

声明:本站内容来自于论坛作者本人的观点,不代表本网站的观点和看法,与本网站立场无关,相关责任作者自负。如有侵权,请联系我们及时删除

高能预警:本站为个人网站,非团队运作,常年务农,山上信号不好,在线少,如有不妥之处,望大佬们多多包涵,万分感激!

雅安论坛互联网违法和不良信息举报平台 您也可以通过留言进行相关问题提交,留言提交无需注册,我们将严格保证用户隐私。   © 2009-2021