laravel 模型查询总结
1.Model::find($id);//查找主键为$id的数据
2.Model::find([$key1,$key2]);//使用双主键进行查找
3.Model::findOrFail($id);//查找主键为$id的数据,找不到抛出异常
4.Model::where('id',$id)->first();//获取id为$id的第一条数据
5.Model::where('id',$id)->get();//获取id为$id的数据
6.Model::where('id',$id)->exists();//查询id为$id的数据是否存在
7.Model::select('id','name')->first();//只查id和name字段
8.Model::selectRaw('id , name as 姓名')->first();//查询id,name 作为姓名字段展示,selectRaw()里面可以使用原生sql语句
9.Model::whereIn('id',[1,2,3])->get();//whereIn查询 where id in (1,2,3) <==> whereRaw("id in (1,2,3)") <==> whereBetween('id',[1,3])
10.Model::whereId($id)->get();//动态属性查找id为$id的数据
11.Model::paginate(10);//分页
//关联查询
10.Model::with('relation')->get();//将关联数据一起查出来
11.Model::with('relation:relation.id,relation.name')->get();//只查找关联数据的id,name字段
12.Model::with(['relation'=>function($query){}])->get();//只查找符合条件的关联数据
13.Model::whereHas('relation',function($query){ ... })->get();//1对多关联,查找关联数据符合条件的数据
14.Model::whereNotExists(function($query){
$query->from('relation_table')->where('');
})->get();//查找不符合条件的数据
15.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 模型查询总结的更多相关文章
- 打印 laravel 模型查询产品的 SQL
1.在路由閉包打印sql 打印一段代码生产的 sql 语句,使用路由闭包做个实验 Route::get('/get-sql', function() { DB::enableQueryLog(); $ ...
- laravel7 ORM和laravel模型操作
1.什么是ORM 对象关系映射(Object Relation Maping),这个关系就是关系数据库.因此,顾名思义,ORM的核心是我们通过操作对应来操作关系数据库. ORM的优点: ORM提供了 ...
- laravel数据库查询返回的数据形式
版本:laravel5.4+ 问题描述:laravel数据库查询返回的数据不是单纯的数组形式,而是数组与类似stdClass Object这种对象的结合体,即使在查询构造器中调用了toArray(), ...
- Laravel 模型事件入门
Laravel 模型事件允许你监听模型生命周期内的多个关键点,甚至可以在阻止一个模型的保存或者删除. Laravel 模型事件文档 概述了如何使用钩子将对应事件与相关的事件类型关联起来,但是本文的主旨 ...
- php – Laravel 5查询关系导致“调用成员函数addEagerConstraints()on null”错误( 转载)
php – Laravel 5查询关系导致“调用成员函数addEagerConstraints()on null”错误 我一直在尝试创建一个简单的用户管理系统,但在查询关系时不断遇到障碍.例如,我 ...
- Laravel -- 模型
模型文件 <?php namespace App; use Illuminate\Database\Eloquent\Model; class Student extends Model { / ...
- tp5.0 模型查询数据的返回类型,分页
一开始用painate()这个函数的时候,发现有的查询方式不能使用这个函数,由此了解到了模型查询和普通查询返回类型的不同 1.原生查询方法 Db::query("select * from ...
- laravel模型中非静态方法也能静态调用的原理
刚开始用laravel模型时,为了方便一直写静态方法,进行数据库操作. <?php namespace App\Models; use Illuminate\Database\Eloquent\ ...
- Laravel模型事件的实现原理详解
模型事件在 Laravel 的世界中,你对 Eloquent 大多数操作都会或多或少的触发一些模型事件,下面这篇文章主要给大家介绍了关于Laravel模型事件的实现原理,文中通过示例代码介绍的非常详细 ...
随机推荐
- selenium工作原理详解
selenium简介 Selenium是一个用于Web应用程序自动化测试工具.Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE(7, 8, 9, 10, 11), ...
- .NET平台简介
前言: 看到一个名词:搜商(SQ),还挺有趣.讲的是在互联网时代,怎么能够快速找到自己所需信息或资源,成为一种能力,并将其提升到类似智商.情商的概念.在以后工作过程中,尽量提高自己获取.辨别.处理信息 ...
- vsphere网络
物理网络 物理机间建立的网络,VMware ESXi运行于物理机之上 虚拟网络 单台物理机上运行的虚拟机之间通信形成的逻辑网络. 一.网络概述 1. 物理以太网交换机 2.vSphere标准交换机 虚 ...
- mk、cd、pwd、ls、touch、vi、cat、cp、mv的使用及命令快捷方式
1 命令提示符 1.1 [ root @ oldboyedu62 ~ ] 1 2 3 4 1:登陆系统的用户身份 2:命令分割符合 3:主机名称信息 4:显示当前所在目录路径 1.2 系统 ...
- 【转载】JDK自带的log工具
版权声明:本文为Jaiky_杰哥原创,转载请注明出处.This blog is written by Jaiky, reproduced please indicate. https://blog.c ...
- 【转载】java8中的Calendar日期对象(LocalDateTime)
Java 8 推出了全新的日期时间API,Java 8 下的 java.time包下的所有类都是不可变类型而且线程安全. 下面是新版API中java.time包里的一些关键类: Instant:瞬时实 ...
- 【commons-lang3工具】JAVA脱敏工具
前言:commons-langbao中有很多方便的工具,无需我们自己去实现,能够节省很多开发时的问题: 1.工具包,引入依赖,jDK8对应的版本如下: <!-- https://mvnrepos ...
- JS处理时间戳、前台拿到日期时间戳,时间戳转日期格式
今晚做分页的时候,遇到后台往前台传日期类型,会出现这种情况,好像是微软为了解决操作系统兼容性问题,将日期全部转换为从1970年1月1日至现在时间的时间戳.为了解决这个问题,特意百度了一番,整理了处理日 ...
- 一文看懂Python的面向对象编程
之前在网络上看了很多关于面向对象的编程详解,还是不够过瘾,所以决定自己动手写一篇. 面向对象:Object Oriented Programming,简称OOP,即面向对象程序设计. 类(Class) ...
- JVM结构的简单梳理
#cnblogs_post_body img { width: 500px; height: auto; } JVM是什么 JVM的基本特性 JVM的流程结构 1. Java编译(Java Compi ...