laravel5.6 框架操作数据 Eloquent ORM用法示例


Posted in PHP onJanuary 26, 2020

本文实例讲述了laravel5.6 框架操作数据 Eloquent ORM用法。分享给大家供大家参考,具体如下:

建立Users模型

<?php
namespace App\Model\Eloquent\Admin;
use Illuminate\Database\Eloquent\Model;
class Users extends Model
{
 //指定表名
 protected $table="users";
 //指定id
 protected $primaryKey="id";
 //指定允许批量的字段
 protected $fillable=['name','age'];
 //指定不允许批量赋值的字段
 protected $guarded=[];
 //连接多数据库配置 默认使用'mysql' 
 protected $connection = 'mysql';
 //自动维护时间戳 默认是'true' 
 public $timestamps=true;
 //返回当前时间的时间戳,进入数据库,输出时,可以输出格式化好的时间
 protected function getDateFormat()
 {
  return time();
 }
 //设置之后,返回的就是数据表中的时间戳
 protected function asDateTime($value)
 {
  return $value;
 }
}

引用Users模型

use App\Model\Eloquent\Admin\Users;

ORM 查

//all() 查询所有数据 查询数据为集合
$data=Users::all();
//根据[$id]主键查询 查询一条数据
$data=Users::find($id);
//findOrFail() 根据主键查询 如果没有查到 报错
$data=Users::findOrFail($id);
//get() 查询所有数据
$data=Users::get();
//first() 查询第一条
$data=Users::where('id','>','1')->orderBy('age','desc')->first();
//chunk() 每次查询指定[$num]条数 
Users::chunk($num,function($data){
 print_r($data);
});
//聚合函数
//count() 统计记录条数
$num = Users::count();
//max() 查询最大值 min() 查询最小值
$max=Users::where('id','>',1)->max('age');

ORM 增

//save() 单增
$data = new Users();
$data->name = 'admin_a';
$data->age = 100;
$data->save();
//create() 多增
$ret=Users::create([
 'name'=>'admin_b',
 'age'=>200
]);
//firstOrCreate()以属性查询数据 如果没有 新建数据
$ret=Users::firstOrCreate([
 'name'=>'admin_c',
 'age'=>300
]);
//firstOrNew() 以属性查询数据 如果没有 新建实例 如果想保存调用save()
$ret=Users::firstOrNew([
 'name'=>'admin_d',
 'age'=>400
]);
$ret->save();

ORM 改

//获取主键id,模型修改数据
$data=Users::find($id);
$data->name ='admin_e';
$data->age =66;
$data->save();
//批量修改
$ret=Users::where('id','>',2)->update(
 ['age'=>33]
);

ORM 删

//获取主键id,模型删除单条
$data=Users::find($id);
$data->delete();
//通过主键删除多条
$ret=Users::destroy(1,2,3);
$ret=Users::destroy([4,5,6]);
//删除指定条件
$ret=Users::where('id','>',2)->delete();

laravel5.6 操作数据查询构建器

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

PHP 相关文章推荐
Cannot modify header information错误解决方法
Oct 08 PHP
php并发对MYSQL造成压力的解决方法
Feb 21 PHP
php启用zlib压缩文件的配置方法
Jun 12 PHP
php实现监听事件
Nov 06 PHP
php实现的支持断点续传的文件下载类
Sep 23 PHP
PHP中绘制图像的一些函数总结
Nov 19 PHP
php简单分页类实现方法
Feb 26 PHP
PHP中isset与array_key_exists的区别实例分析
Jun 02 PHP
highchart数据源纵轴json内的值必须是int(详解)
Feb 20 PHP
详解PHP PDO简单教程
May 28 PHP
PHP面向对象类型约束用法分析
Jun 12 PHP
PHP连接MySQL数据库三种实现方法
Dec 10 PHP
Laravel框架自定义分页样式操作示例
Jan 26 #PHP
php数组函数array_push()、array_pop()及array_shift()简单用法示例
Jan 26 #PHP
php的instanceof和判断闭包Closure操作示例
Jan 26 #PHP
yii2.0框架场景的简单使用示例
Jan 25 #PHP
laravel框架实现为 Blade 模板引擎添加新文件扩展名操作示例
Jan 25 #PHP
laravel框架模型和数据库基础操作实例详解
Jan 25 #PHP
laravel框架分组控制器和分组路由实现方法示例
Jan 25 #PHP
You might like
动易数据转成dedecms的php程序
2007/04/07 PHP
php用正则表达式匹配URL的简单方法
2013/11/12 PHP
php中cookie的使用方法
2014/03/29 PHP
PHP中UNIX时间戳和日期间的转换与计算实例
2014/11/19 PHP
js 操作css实现代码
2009/06/11 Javascript
Iframe自适应高度绝对好使的代码 兼容IE,遨游,火狐
2011/01/27 Javascript
jquery 年会抽奖程序
2011/12/22 Javascript
利用webqq协议使用python登录qq发消息源码参考
2013/04/08 Javascript
js substr支持中文截取函数代码(中文是双字节)
2013/04/17 Javascript
提高jQuery性能的十个诀窍
2013/11/14 Javascript
javascript实现限制上传文件大小
2015/02/06 Javascript
js跨浏览器的事件侦听器和事件对象的使用方法
2015/12/17 Javascript
BootStrap智能表单实战系列(四)表单布局介绍
2016/06/13 Javascript
BootStrap表单验证 FormValidation 调整反馈图标位置的实例代码
2017/05/17 Javascript
vuex页面刷新后数据丢失的方法
2019/01/17 Javascript
vue中在vuex的actions中请求数据实例
2019/11/08 Javascript
[48:35]2018DOTA2亚洲邀请赛 4.1 小组赛 A组加赛 TNC vs Optic
2018/04/03 DOTA
[51:44]2018DOTA2亚洲邀请赛 4.3 突围赛 Optic vs iG 第二场
2018/04/04 DOTA
python3 模拟登录v2ex实例讲解
2017/07/13 Python
VTK与Python实现机械臂三维模型可视化详解
2017/12/13 Python
django之跨表查询及添加记录的示例代码
2018/10/16 Python
Django模板Templates使用方法详解
2019/07/19 Python
Tensorflow全局设置可见GPU编号操作
2020/06/30 Python
用Python 爬取猫眼电影数据分析《无名之辈》
2020/07/24 Python
Python datetime 如何处理时区信息
2020/09/02 Python
Lee牛仔裤澳大利亚官网:美国著名牛仔裤品牌
2017/09/02 全球购物
英国水族馆和池塘用品购物网站:Warehouse Aquatics
2019/08/29 全球购物
Does C# support multiple inheritance? (C#支持多重继承吗)
2012/01/04 面试题
乐观大学生的自我评价
2014/01/10 职场文书
护士见习期自我鉴定
2014/02/08 职场文书
婚前协议书范本两则
2014/10/16 职场文书
解除施工合同协议书
2014/10/17 职场文书
大学生活感想
2015/08/10 职场文书
小学生组织委员竞选稿
2015/11/21 职场文书
Windows 11要来了?微软文档揭示Win11太阳谷 / Win10有两个不同版本
2021/11/21 数码科技
Android Studio实现简易进制转换计算器
2022/05/20 Java/Android