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 操作数据查询构建器链接: 请点击跳转
laravel5.6 操作数据 Eloquent ORM的更多相关文章
- laravel5.5源码笔记(八、Eloquent ORM)
上一篇写到Eloquent ORM的基类Builder类,这次就来看一下这些方便的ORM方法是如何转换成sql语句运行的. 首先还是进入\vendor\laravel\framework\src\Il ...
- laravel5.5种的Eloquent ORM的使用:
控制器方法: //Eloquent ORM的使用: public function orm1() { //all() /*$students=Student::all(); dd($students) ...
- Laravel5.2中Eloquent与DB类的区别是什么?
要了解这些先看看关于数据库组件的那些事儿(就是 Eloquent ORM) 数据库组件大概分了三层: 数据库连接层 查询构造层 应用层 来看一下每一层有哪些东西,分别对应文档的哪一部分: 数据库连接层 ...
- laravel5.6操作数据curd写法(查询构建器)
laravel5.6 数据库操作-查询构建器 <?php //laravel5.6 语法 demo示例 namespace App\Http\Controllers;//命名该控制App空间下名 ...
- Eloquent ORM笔记
基本操作 新增 $user = new User; $user->name = 'John'; $user->save(); $insertedId = $user->id;//从对 ...
- Laravel Eloquent ORM
Eloquent ORM 简介 基本用法 集体赋值 插入.更新.删除 软删除 时间戳 查询范围 关系 查询关系 预先加载 插入相关模型 触发父模型时间戳 与数据透视表工作 集合 访问器和调整器 日期调 ...
- [转]Laravel 4之Eloquent ORM
Laravel 4之Eloquent ORM http://dingjiannan.com/2013/laravel-eloquent/ 定义Eloquent模型 模型通常放在app/models目录 ...
- Eloquent ORM 学习笔记
最近在学习Laravel,觉得ORM功能很强大,我这里只是简单探索了一点,如果有更好的笔记,还请分享. 因为重点在于Eloquent ORM,所以路由设置,控制器就不详细描述了,这里直接进入Model ...
- Eloquent ORM 之关联查询
小伙伴们好,本文是在我的前一篇随笔的基础上完成的,还没有浏览的同学,请移尊驾哦 Eloquent ORM学习笔记. 前一篇文章用到了leftJoin方法,其实Eloquent对于模块之间的关联查询有自 ...
随机推荐
- SET ANSI_NULLS ON SET QUOTED_IDENTIFIER ON 什么意思 sql server 2005 2008
原文:http://www.cnblogs.com/ForFreeDom/archive/2009/10/16/1584680.html 在sqlserver2005或SQL2008数据库项目中,创建 ...
- <每日一题> Day6:HDU递推专题完结
原题链接 这是我自己Clone的专题,A,B题解昨天发过了 C:参考代码: /* 很容易我们可以手推出n = 1, 2, 3时的情况,我们假设前n - 1 列已经放好,方法有dp[n - 1]种,第n ...
- Vue.js 源码学习笔记
最近饶有兴致的又把最新版 Vue.js 的源码学习了一下,觉得真心不错,个人觉得 Vue.js 的代码非常之优雅而且精辟,作者本身可能无 (bu) 意 (xie) 提及这些.那么,就让我来吧:) 程序 ...
- Collections与Arrays工具类
Collections工具类: 排序操作: void reverse(List list)//反转 void shuffle(List list)//随机排序 void sort(List list) ...
- [2019杭电多校第八场][hdu6667]Roundgod and Milk Tea
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6667 题目大意是说n个班级,每个班级有ai人和bi杯茶,每个人只能喝其他班的茶并且只能喝一杯.问最多有 ...
- [Codeforces 1191D] Tokitsukaze, CSL and Stone Game(博弈论)
[Codeforces 1191D] Tokitsukaze, CSL and Stone Game(博弈论) 题面 有n堆石子,两个人轮流取石子,一次只能从某堆里取一颗.如果某个人取的时候已经没有石 ...
- asp.net 获取表单中控件的值
原文:https://blog.csdn.net/happymagic/article/details/8480235 C# 后台获取前台 input 文本框值.(都是以控件的Name来获取) s ...
- ajax图片上传(asp.net +jquery+ashx)
一.建立Default.aspx页面 <%@ Page Language="C#" AutoEventWireup="true" CodeFile=&q ...
- linux加大服务器文件描述符
最简单的说,在 unix/liux 里面,你的服务只要开启一个进程,就要占用文件描述符的.liunx 默认 是 1024,如果描述符少了,你的访问量多了,你的服务器支撑不了,所以要把描述符加大. #e ...
- 学Python的第六天
今天发愤图强,死学Python!!!! 为此小编还买了自己喜欢的McPython! 从小老师就说兴趣是最好的老师,所以呢买这本书是想通过我的世界这款游戏来提高自己的学习兴趣!!! 当然也有私心啦... ...