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 相关文章推荐
php mssql 分页SQL语句优化 持续影响
Apr 26 PHP
php自动加载的两种实现方法
Jun 21 PHP
CI框架装载器Loader.php源码分析
Nov 04 PHP
PHP操作文件的一些基本函数使用示例
Nov 18 PHP
基于PHP实现的事件机制实例分析
Jun 18 PHP
php简单计算页面加载时间的方法
Jun 19 PHP
php正则表达式获取内容所有链接
Jul 24 PHP
深入理解PHP之源码目录结构与功能说明
Jun 01 PHP
PHP微信开发之文本自动回复
Jun 23 PHP
php自动载入类用法实例分析
Jun 24 PHP
PHP静态延迟绑定和普通静态效率的对比
Oct 20 PHP
php用户名的密码加密更安全的方法
Jun 21 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
php的正则处理函数总结分析
2008/06/20 PHP
PHP注释实例技巧
2008/10/03 PHP
php采集时被封ip的解决方法
2010/08/29 PHP
php源码之将图片转化为data/base64数据流实例详解
2016/11/27 PHP
Symfony查询方法实例小结
2017/06/28 PHP
按Enter键触发事件的jquery方法实现代码
2014/02/17 Javascript
JavaScript实现的in_array函数
2014/08/27 Javascript
js数组去重的方法汇总
2015/07/29 Javascript
JavaScript限制在客户区可见范围的拖拽(解决scrollLeft和scrollTop的问题)(2)
2017/05/17 Javascript
vue-cli+webpack在生成的项目中使用bootstrap实例代码
2017/05/26 Javascript
Vue实现一个无限加载列表功能
2018/11/13 Javascript
详解nuxt路由鉴权(express模板)
2018/11/21 Javascript
基于vue如何发布一个npm包的方法步骤
2019/05/15 Javascript
Python使用百度API上传文件到百度网盘代码分享
2014/11/08 Python
Python安装图文教程 Pycharm安装教程
2018/03/27 Python
python中实现字符串翻转的方法
2018/07/11 Python
Python爬虫之网页图片抓取的方法
2018/07/16 Python
Django REST framework 分页的实现代码
2019/06/19 Python
python中dict使用方法详解
2019/07/17 Python
深入了解Python在HDA中的应用
2019/09/05 Python
python计算n的阶乘的方法代码
2019/10/25 Python
Python: glob匹配文件的操作
2020/12/11 Python
Python中的流程控制详解
2021/02/18 Python
英国复古服装和球衣购买网站:3Retro Football
2018/07/09 全球购物
德国药房apodiscounter中文官网:德国排名前三的网上药店
2019/06/03 全球购物
捷克街头、运动和滑板一站式商店:BoardStar.cz
2019/10/06 全球购物
Linux如何压缩可执行文件
2013/10/21 面试题
什么是岗位职责
2013/11/12 职场文书
函授毕业生的自我鉴定
2013/11/26 职场文书
税务干部鉴定材料
2014/02/11 职场文书
业务员的岗位职责
2014/03/15 职场文书
经营目标管理责任书
2014/07/25 职场文书
承诺函格式模板
2015/01/21 职场文书
2016年小学圣诞节活动总结
2016/03/31 职场文书
一小时迅速入门Mybatis之bind与多数据源支持 Java API
2021/09/15 Javascript
Python利用capstone实现反汇编
2022/04/06 Python