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 相关文章推荐
PHP面向对象编程快速入门
Dec 14 PHP
Ajax PHP简单入门教程代码
Apr 25 PHP
php 代码优化的42条建议 推荐
Sep 25 PHP
PHP中空字符串介绍0、null、empty和false之间的关系
Sep 25 PHP
php常用ODBC函数集(详细)
Jun 24 PHP
PHP实现今天是星期几的几种写法
Sep 26 PHP
php数组排序usort、uksort与sort函数用法
Nov 17 PHP
php实现的美国50个州选择列表实例
Apr 20 PHP
php 类自动载入的方法
Jun 03 PHP
php采用session实现防止页面重复刷新
Dec 24 PHP
搜索附近的人PHP实现代码
Feb 11 PHP
laravel实现Auth认证,登录、注册后的页面回跳方法
Sep 30 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 获取完整url地址
2008/12/20 PHP
Yii中CGridView禁止列排序的设置方法
2016/07/12 PHP
PHP设置images目录不充许http访问的方法
2016/11/01 PHP
TP(thinkPHP)框架多层控制器和多级控制器的使用示例
2018/06/13 PHP
用jquery等比例控制图片宽高的具体实现
2014/01/28 Javascript
jquery实现在光标位置插入内容的方法
2015/02/05 Javascript
IE中document.createElement的iframe无法设置属性name的解决方法
2015/09/14 Javascript
js点击按钮实现带遮罩层的弹出视频效果
2015/12/19 Javascript
详解angular用$sce服务来过滤HTML标签
2017/04/11 Javascript
node.js 发布订阅模式的实例
2017/09/10 Javascript
webpack4 SCSS提取和懒加载的示例
2018/09/03 Javascript
JavaScript中Array方法你该知道的正确打开方法
2018/09/11 Javascript
Vue中Table组件行内右键菜单实现方法(基于 vue + AntDesign)
2019/11/21 Javascript
微信小程序动态设置图片大小的方法
2019/11/21 Javascript
基于vue-cli3创建libs库的实现方法
2019/12/04 Javascript
Python 爬虫爬取指定博客的所有文章
2016/02/17 Python
Python3实战之爬虫抓取网易云音乐的热门评论
2017/10/09 Python
python实现简单神经网络算法
2018/03/10 Python
python实现简单登陆系统
2018/10/18 Python
Python绘制二维曲线的日常应用详解
2019/12/04 Python
欧洲最大的滑雪假期供应商之一:Sunweb Holidays
2018/01/06 全球购物
美国社交购物市场:MassGenie
2019/02/18 全球购物
英国汽车零件购物网站:GSF Car Parts
2019/05/23 全球购物
CHARLES & KEITH台湾官网:新加坡时尚品牌
2019/07/30 全球购物
杭州龙健科技笔试题.net部分笔试题
2016/01/24 面试题
普通院校学生的自荐信
2013/11/27 职场文书
自主招生自荐信范文
2013/12/04 职场文书
乡镇平安建设汇报材料
2014/08/25 职场文书
离职证明标准格式
2014/09/15 职场文书
个人查摆问题自查报告
2014/10/16 职场文书
2015年采购工作总结
2015/04/10 职场文书
laravel ajax curd 搜索登录判断功能的实现
2021/04/17 PHP
如何用PHP实现多线程编程
2021/05/26 PHP
详解Python魔法方法之描述符类
2021/05/26 Python
Spring-cloud Config Server的3种配置方式
2021/09/25 Java/Android
二维码条形码生成的JavaScript脚本库
2022/07/07 Javascript