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(2)
Oct 09 PHP
PHP 错误之引号中使用变量
May 04 PHP
PHP程序员最常犯的11个MySQL错误小结
Nov 20 PHP
PHP求小于1000的所有水仙花数的代码
Jan 10 PHP
探讨fckeditor在Php中的配置详解
Jun 08 PHP
PHP5全版本绕过open_basedir读文件脚本漏洞详细介绍
Jan 20 PHP
Joomla语言翻译类Jtext用法分析
May 05 PHP
php mongodb操作类 带几个简单的例子
Aug 25 PHP
PHP编程实现多维数组按照某个键值排序的方法小结【2种方法】
Apr 27 PHP
PHP简单实现防止SQL注入的方法
Mar 13 PHP
PHP中cookie知识点学习
May 06 PHP
php实现生成PDF文件的方法示例【基于FPDF类库】
Jul 21 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 地址预设 http 字符串函数代码
2010/05/26 PHP
PHP CLI模式下的多进程应用分析
2013/06/03 PHP
如何使用php判断所处服务器操作系统的类型
2013/06/20 PHP
PHP实现文件下载详解
2014/11/27 PHP
Yii2框架自定义验证规则操作示例
2019/02/08 PHP
深入理解JQuery keyUp和keyDown的区别
2013/12/12 Javascript
jquery 淡入淡出效果的简单实现
2014/02/07 Javascript
JavaScript+html5 canvas绘制的小人效果
2016/01/27 Javascript
jQuery css() 方法动态修改CSS属性
2016/09/25 Javascript
vue + socket.io实现一个简易聊天室示例代码
2017/03/06 Javascript
最通俗易懂的javascript变量提升详解
2017/08/05 Javascript
JavaScript插件Tab选项卡效果
2017/11/14 Javascript
bootstrap模态框弹出和隐藏,动态改变中间内容的实例
2018/08/10 Javascript
详解webpack自定义loader初探
2018/08/29 Javascript
vue3.0 CLI - 1 - npm 安装与初始化的入门教程
2018/09/14 Javascript
layui监听单元格编辑前后交互的例子
2019/09/16 Javascript
JavaScript 函数用法详解【函数定义、参数、绑定、作用域、闭包等】
2020/05/12 Javascript
three.js欧拉角和四元数的使用方法
2020/07/26 Javascript
python清除指定目录内所有文件中script的方法
2015/06/30 Python
Python利用Beautiful Soup模块搜索内容详解
2017/03/29 Python
python XlsxWriter模块创建aexcel表格的实例讲解
2018/05/03 Python
Python一行代码实现快速排序的方法
2019/04/30 Python
基于python实现操作redis及消息队列
2020/08/27 Python
维珍澳洲航空官网:Virgin Australia
2017/09/08 全球购物
趣天网日本站:Qoo10 JP
2019/09/18 全球购物
Woods官网:加拿大最古老、最受尊敬的户外品牌之一
2020/09/12 全球购物
如何让Java程序执行效率更高
2014/06/25 面试题
车间组长岗位职责
2013/12/20 职场文书
应用化学专业职业生涯规划书
2013/12/31 职场文书
年度考核自我鉴定
2014/02/02 职场文书
美国探亲签证邀请信
2014/02/05 职场文书
机械制造毕业生求职信
2014/03/03 职场文书
保密承诺书
2014/03/27 职场文书
公司建议书怎么写
2014/05/15 职场文书
周恩来的四个昼夜观后感
2015/06/03 职场文书
市级三好生竞选稿
2015/11/21 职场文书