首页 > 其他分享 >Laravel Orm操作小结

Laravel Orm操作小结

时间:2022-12-08 21:35:17浏览次数:58  
标签:Laravel name get where Orm relation Model 小结 id

Model::find('id');//查找主键为id的所有数据
Model::find([$key1,$key2]);//使用双主键进行查找
Model::findOrFail($id);//查找主键为$id的数据,找不到抛出异常
Model::where('id',$id)->value();//获取id为$id的第一条数据的一个字段
Model::where('id',$id)->first();//获取id为$id的第一条数据
Model::where('id',$id)->get();//获取id为$id的数据集
Model::where('id',$id)->all();//获取id为$id的数据
Model::where('id',$id)->exists();//查询id为$id的数据是否存在
Model::where('id',$id)->pluck('name','id')->first();//查询id为$id的id和name ,[id=>name]
Model::select('id','name')->first();//只查id和name字段
Model::selectRaw('id , name as 姓名')->first();//查询id,name 作为姓名字段展示,selectRaw()里面可以使用原生sql语句
Model::whereIn('id',[1,2,3])->get();//whereIn查询 where id in (1,2,3) <> whereRaw("id in (1,2,3)") <> whereBetween('id',[1,3])
Model::whereId($id)->get();//动态属性查找id为$id的数据
Model::leftjoin('user', 'user.id', '=', 'aaaa.id')->get();//左链表查询
Model::orderBy('top_status','asc') 字段排序
Model::orderByRaw('convert(字段名 using gbk)')//根据中文排序
Model::paginate(10);//分页
Model::withTrashed();//软删除查询
->toArray() 结果对象转换数组

Model::create([]) //插入数据
Model::save([]) //更新数据
Model::updateOrCreate([]) //存在即更新,反之则创建
Model::firstOrCreate([]) //存在即跳过,反之则创建

//关联查询
Model::with('relation')->get();//将关联数据一起查出来
Model::with('relation:relation.id,relation.name')->get();//只查找关联数据的id,name字段
Model::with(['relation'=>function($query){}])->get();//只查找符合条件的关联数据
Model::whereHas('relation',function($query){ ... })->get();//1对多关联,查找关联数据符合条件的数据
Model::whereNotExists(function($query){
  $query->from('relation_table')->where('');
})->get();//查找不符合条件的数据
Model::withCount(['marks as marks_avg'=>function($query){
  $query->select(DB::raw("avg(grade) as makrs_avg"))
}])->orderBy('marks_avg','desc')->paginate(10);//根据关联数据的平均分排序,将avg()改为max,sum,min,可以实现其他排序

 

标签:Laravel,name,get,where,Orm,relation,Model,小结,id
From: https://www.cnblogs.com/joshua317/p/16967387.html

相关文章

  • Elasticsearch学习小结
    本文为joshua317原创文章,转载请注明:转载自joshua317博客 https://www.joshua317.com/article/286什么是es?Elasticsearch是由Apache开源的一个兼有搜索引擎和NoSQL数......
  • Laravel 查询包括软删除的记录
    本文为joshua317原创文章,转载请注明:转载自joshua317博客 https://www.joshua317.com/article/287###1.查询结果包括已被软删除的记录:Model::withTrashed()->get();#......
  • 使用.net 6.0框架的WPF应用如何引用System.Windows.Forms这个dll(转载)
      在.net6.0的WPF应用中,想使用OpenFileDialog这个类或者FolderBrowserDialog这个类,是无法找到System.Windows.Forms这个dll引用的,即使从系统C盘里搜索到System.Windo......
  • ror学习小结5
    1一对一关系,假设student和mealcard为两个一对一关系的类classStudent<ActiveRecord::Basehas_one(:meal_card,:class_name=>"MealCard",:foreign_key=>"stu......
  • ror学习小结6
    1每个controler都会在app\views下有一个相应的目录2视图中输出debug信息<%=DEBUGparams%><%=debugresponse%>3页面上输出<%=session[:user_name]%>...........
  • Python全栈工程师之从网页搭建入门到Flask全栈项目实战(5) - Flask中的ORM使用
    1.理解ORMORM是MTV模型里面的Model模型ORM(ObjectRelationalMapping),对象关系映射举例:学生选课学生和课程这两个实体,一个学生可以选择多门课程,一个课程可以被多名......
  • Winform 高DPI 解决
    1.添加应用程序清单。在app.manifest文件中,取消注释下面<applicationxmlns="urn:schemas-microsoft-com:asm.v3"><windowsSettings><dpiAwarexmlns="h......
  • dwshd.sys,EASYDOWNS.sys,HBKernel32.sys,QQPlatform.exe,RDPWD.sys,easy2.exe等
    dwshd.sys,EASYDOWNS.sys,HBKernel32.sys,QQPlatform.exe,RDPWD.sys,easy2.exe等endurer原创2008-11-25第1版一位朋友的电脑今天出现了奇怪的问题,登录后不久桌面图标和任......
  • 某市河西区教育信息网被加入传播Worm.Win32.Viking.jr等的代码
    endurer原创2007-03-26第1版该网首页末被加入代码:/---<iframesrc="hxxp://w**.q**b*b****d.com/b**d*.htm?001"width="0"height="0"frameborder="0"></iframe><iframesrc="hxxp......
  • Laravel获取代理下的真实客户端IP
    当我们的业务使用了反向代理、负载均衡、cdn加速等等,我们就要设置信任的代理IP。如果你不清楚代理服务器IP,或者IP会一直变动。可以设置信任所有代理。(这样是极其不安全的,......