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 模型查询总结的更多相关文章

  1. 打印 laravel 模型查询产品的 SQL

    1.在路由閉包打印sql 打印一段代码生产的 sql 语句,使用路由闭包做个实验 Route::get('/get-sql', function() { DB::enableQueryLog(); $ ...

  2. laravel7 ORM和laravel模型操作

    1.什么是ORM 对象关系映射(Object Relation Maping),这个关系就是关系数据库.因此,顾名思义,ORM的核心是我们通过操作对应来操作关系数据库. ORM的优点:  ORM提供了 ...

  3. laravel数据库查询返回的数据形式

    版本:laravel5.4+ 问题描述:laravel数据库查询返回的数据不是单纯的数组形式,而是数组与类似stdClass Object这种对象的结合体,即使在查询构造器中调用了toArray(), ...

  4. Laravel 模型事件入门

    Laravel 模型事件允许你监听模型生命周期内的多个关键点,甚至可以在阻止一个模型的保存或者删除. Laravel 模型事件文档 概述了如何使用钩子将对应事件与相关的事件类型关联起来,但是本文的主旨 ...

  5. php – Laravel 5查询关系导致“调用成员函数addEagerConstraints()on null”错误( 转载)

    php – Laravel 5查询关系导致“调用成员函数addEagerConstraints()on null”错误   我一直在尝试创建一个简单的用户管理系统,但在查询关系时不断遇到障碍.例如,我 ...

  6. Laravel -- 模型

    模型文件 <?php namespace App; use Illuminate\Database\Eloquent\Model; class Student extends Model { / ...

  7. tp5.0 模型查询数据的返回类型,分页

    一开始用painate()这个函数的时候,发现有的查询方式不能使用这个函数,由此了解到了模型查询和普通查询返回类型的不同 1.原生查询方法 Db::query("select * from ...

  8. laravel模型中非静态方法也能静态调用的原理

    刚开始用laravel模型时,为了方便一直写静态方法,进行数据库操作. <?php namespace App\Models; use Illuminate\Database\Eloquent\ ...

  9. Laravel模型事件的实现原理详解

    模型事件在 Laravel 的世界中,你对 Eloquent 大多数操作都会或多或少的触发一些模型事件,下面这篇文章主要给大家介绍了关于Laravel模型事件的实现原理,文中通过示例代码介绍的非常详细 ...

随机推荐

  1. CSS样式规范

    一般团队都有对CSS样式的规范,因为只有写的规范些,维护层本低,易懂.我们开发并不一次性的,往往都是要迭代的,如果这次随便写,下次迭代的时候将付出高昂的代价.而团队的规范一般都大同小异,往往都包含一下 ...

  2. Hive的一些学习内容

    Hive相关 什么是metastore? metadata是元数据,包含数据库.表.字段.分区等信息.作用:客户端连接MetaStore服务,metastore再去连接MySQL数据库存储元数据,有了 ...

  3. 【转载】java8中的Calendar日期对象(LocalDateTime)

    Java 8 推出了全新的日期时间API,Java 8 下的 java.time包下的所有类都是不可变类型而且线程安全. 下面是新版API中java.time包里的一些关键类: Instant:瞬时实 ...

  4. 【过时】项目转Maven后出现的问题记录

    上图,文字后补充 1.过程 创建一个新的web项目,项目名称与原项目名称一致.注意勾选“添加mvn支持(红框部分)”,勾选后运行目标服务器会变为none,这里无法进行添加. 2.项目创建完成后,会报错 ...

  5. 使用release自动打包发布正式版详细教程

    昨天写了个release插件的版本管理,今天就在自动发布过程中遇到了许多坑,只能再写一篇自动发布详细教程,纪念我那昨日逝去的青春 (╥ _ ╥`) release正常打包发布流程按照如下几个阶段: C ...

  6. .NET Core IdentityServer4实战 第Ⅴ章-单点登录

    OiDc可以说是OAuth的改造版,在最初的OAuth中,我们需要先请求一下认证服务器获取下Access_token,然后根据Access_token去Get资源服务器, 况且OAuth1 和 2 完 ...

  7. 前端页面统计beacon调研

    目录 为什么使用beacon beacon特性 beacon 示例 参考资料 主要用于测试html的新特性beacon,使用beacon向后端发送请求,代替xhr或jsonp, 好处是支持页面unlo ...

  8. oracle 向数据库同时插入多条数据

    oracle 与 mysql 不同. mysql 可以直接插入多条数据的操作:  采用 INSERT INTO 某表 VALUES(各个值),VALUES(各个值),.....; 或者 INSERT ...

  9. 如何配置selinux

    参考命令:   一.开启/关闭selinux   getenforce:查看selinux运行状态 setenforce 0 :关闭selinux setenforce 1 :开启selinux 系统 ...

  10. MyBatis从入门到精通(七):MyBatis动态Sql之choose,where,set标签的用法

    最近在读刘增辉老师所著的<MyBatis从入门到精通>一书,很有收获,于是将自己学习的过程以博客形式输出,如有错误,欢迎指正,如帮助到你,不胜荣幸! 本篇博客主要讲解如何使用choose, ...