Laravel框架Eloquent ORM简介、模型建立及查询数据操作详解


Posted in PHP onDecember 04, 2019

本文实例讲述了Laravel框架Eloquent ORM简介、模型建立及查询数据操作。分享给大家供大家参考,具体如下:

注:以下知识点可能有不全面之处,望见谅

NO.1Eloquent ORM简介

Laravel所自带的Eloquent ORM是一个优美、简洁的ActiveRecord实现,用来实现数据库操作
每个数据表都有与之相对应的“模型(Model)”用于和数据交互

NO.2模型的建立

最基础的模型代码如下:

namespace App;
use Illuminate\Database\Eloquent\Model;
class Student extends Model
{
 //指定表名
 protected $table = 'student';
 //指定id
 protected $primaryKey = 'id';
}

将他创建于app目录下,命名为Student.php

NO.3查询数据

首先在查询之前,我先让你们看一下我的数据库

Laravel框架Eloquent ORM简介、模型建立及查询数据操作详解

数据如上,然后查询

1.all方式

代码如下:

namespace App\Http\Controllers;
use App\Student;
use Illuminate\Support\Facades\DB;
class StudentController extends Controller
{
 public function orm1()
  {
      $students = Student::all();
      dd($students);
 }
}

显示数据库里的所有数据

2.find方式

代码如下:

namespace App\Http\Controllers;
use App\Student;
use Illuminate\Support\Facades\DB;
class StudentController extends Controller
{
 public function orm1()
  {
      $students = Student::find(1);
      dd($students);
 }
}

查找指定数据

3.findOrFail方式

代码如下:

namespace App\Http\Controllers;
use App\Student;
use Illuminate\Support\Facades\DB;
class StudentController extends Controller
{
 public function orm1()
  {
      $students = Student::findOrFail(1);
      dd($students);
 }
}

如果他没查到指定的数据,那么他会报错,而find若是没有查到该函数,只会弹出一个null

4.查询构造器的使用

  • 1.get方式使用
namespace App\Http\Controllers;
use App\Student;
use Illuminate\Support\Facades\DB;
class StudentController extends Controller
{
 public function orm1()
  {
      $students = Student::get();
      dd($students);
 }
}

他会得到一个完整的数据信息,和原本的意义没有区别

  • 2.first方式使用

代码如下:

namespace App\Http\Controllers;
use App\Student;
use Illuminate\Support\Facades\DB;
class StudentController extends Controller
{
 public function orm1()
  {
     $student = Student::where('id','>',1)
     ->orderBy('age','desc')
     ->first();
     dd($student);
 }
}

当id大于一的时候,获取一个最大值的age

  • 3.where方式使用

代码如下:

namespace App\Http\Controllers;
use App\Student;
use Illuminate\Support\Facades\DB;
class StudentController extends Controller
{
 public function orm1()
  {
     $student = Student::where('id','>',1)
     ->get();
     dd($student);
 }
}
  • 4.chunk方式使用

代码如下:

namespace App\Http\Controllers;
use App\Student;
use Illuminate\Support\Facades\DB;
class StudentController extends Controller
{
 public function orm1()
  {
     $student = Student::chunck(2,function($student){
  var_dump($student);
 });
 }
}

5.聚合函数的使用

  • 1.count函数

代码如下:

namespace App\Http\Controllers;
use App\Student;
use Illuminate\Support\Facades\DB;
class StudentController extends Controller
{
 public function orm1()
  {
     $student = Student::count();
     dd($student);
 }
}
  • 2.max函数

代码如下:

namespace App\Http\Controllers;
use App\Student;
use Illuminate\Support\Facades\DB;
class StudentController extends Controller
{
 public function orm1()
  {
     $student = Student::max('age');
     dd($student);
 }
}
  • 3.min函数

代码如下:

namespace App\Http\Controllers;
use App\Student;
use Illuminate\Support\Facades\DB;
class StudentController extends Controller
{
 public function orm1()
  {
     $student = Student::min('age');
     dd($student);
 }
}
  • 4.avg函数

代码如下:

namespace App\Http\Controllers;
use App\Student;
use Illuminate\Support\Facades\DB;
class StudentController extends Controller
{
 public function orm1()
  {
     $student = Student::avg('age');
     dd($student);
 }
}
  • 5.sum函数

代码如下:

namespace App\Http\Controllers;
use App\Student;
use Illuminate\Support\Facades\DB;
class StudentController extends Controller
{
 public function orm1()
  {
     $student = Student::sum('age');
     dd($student);
 }
}

希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。

PHP 相关文章推荐
从C/C++迁移到PHP——判断字符类型的函数
Oct 09 PHP
一步一步学习PHP(1) php开发环境配置
Feb 15 PHP
在PHP中实现Javascript的escape()函数代码
Aug 08 PHP
Php output buffering缓存及程序缓存深入解析
Jul 15 PHP
php使用qr生成二维码的示例分享
Jan 20 PHP
PHP获取服务器端信息的方法
Nov 28 PHP
php使用正则表达式获取图片url的方法
Jan 16 PHP
PHP7.0安装笔记整理
Aug 28 PHP
PHP实现webshell扫描文件木马的方法
Jul 31 PHP
php在windows环境下获得cpu内存实时使用率(推荐)
Feb 08 PHP
laravel 实现上传图片到本地和前台访问示例
Oct 21 PHP
laravel 5.5 关闭token的3种实现方式
Oct 24 PHP
PHP实现二维数组(或多维数组)转换成一维数组的常见方法总结
Dec 04 #PHP
PHP实现提取多维数组指定一列的方法总结
Dec 04 #PHP
php实现快速对二维数组某一列进行组装的方法小结
Dec 04 #PHP
PHP实现发送微博消息功能完整示例
Dec 04 #PHP
PHP连续签到功能实现方法详解
Dec 04 #PHP
Laravel框架Eloquent ORM修改数据操作示例
Dec 03 #PHP
Laravel框架Eloquent ORM删除数据操作示例
Dec 03 #PHP
You might like
php表单提交问题的解决方法
2011/04/12 PHP
PHP三元运算的2种写法代码实例
2014/05/12 PHP
网页中的图片的处理方法与代码
2009/11/26 Javascript
js 变量类型转换常用函数与代码[比较全]
2009/12/01 Javascript
最佳JS代码编写的14条技巧
2011/01/09 Javascript
javascript 获取网页标题代码实例
2014/01/22 Javascript
使用jQuery中的wrap()函数操作HTML元素的教程
2016/05/24 Javascript
JavaScript之cookie技术详解
2016/11/18 Javascript
js实现图片懒加载效果
2017/07/17 Javascript
vue插件vue-resource的使用笔记(小结)
2017/08/04 Javascript
微信小程序 swiper组件构建轮播图的实例
2017/09/20 Javascript
vue.js项目中实用的小技巧汇总
2017/11/29 Javascript
Vue框架之goods组件开发详解
2018/01/25 Javascript
微信小程序点击view动态添加样式过程解析
2020/01/21 Javascript
javascript设计模式 ? 单例模式原理与应用实例分析
2020/04/09 Javascript
鸿蒙系统中的 JS 开发框架
2020/09/18 Javascript
详解如何使用React Hooks请求数据并渲染
2020/10/18 Javascript
Python 12306抢火车票脚本
2018/02/07 Python
Python 分享10个PyCharm技巧
2019/07/13 Python
python使用多线程编写tcp客户端程序
2019/09/02 Python
python性能测量工具cProfile使用解析
2019/09/26 Python
python列表返回重复数据的下标
2020/02/10 Python
Python调用shell命令常用方法(4种)
2020/05/11 Python
python 实现单例模式的5种方法
2020/09/23 Python
HTML高亮关键字的实现代码
2018/10/22 HTML / CSS
Topman美国官网:英国著名的国际平价时尚男装品牌
2017/12/22 全球购物
女性时尚在线:IVRose
2019/02/23 全球购物
员工考核管理制度
2014/02/02 职场文书
护士的自我鉴定
2014/02/07 职场文书
远程研修随笔感言
2014/02/10 职场文书
2015年七年级班主任工作总结
2015/05/21 职场文书
高中语文教学反思范文
2016/02/16 职场文书
什么是执行力?9个故事告诉您:成功绝非偶然!
2019/07/05 职场文书
pytorch中的numel函数用法说明
2021/05/13 Python
MySQL中使用or、in与union all在查询命令下的效率对比
2021/05/26 MySQL
Python使用openpyxl模块处理Excel文件
2022/06/05 Python