laravel5.5种的Eloquent ORM的使用:
控制器方法:
//Eloquent ORM的使用:
public function orm1()
{
//all()
/*$students=Student::all();
dd($students);
*/ //find();
/*$student=Student::find(1001);
dd($student);*/ //findOrFail()
/*$student=Student::findOrFail(1008);
dd($student);*/ //查询构造器在ORM中的使用:
/*$students=Student::get();
dd($students);*/ //first()
/*$students=Student::where('id','>','1001')
->orderBy('age','desc')
->first();
dd($students);*/ //chunk()
/*Student::chunk(2,function ($students){
var_dump($students);
});*/ //查询构造器中的聚合函数:
//count
/*$num=Student::count();
var_dump($num);*/ //max()
/*$max=Student::where('id','>',1001)->max('age');
var_dump($max);*/
} //ORM中的新增、自定义时间戳及批量赋值:
public function orm2()
{
//使用模型新增数据:
/*$student = new Student();
$student->name = "笑笑";
$student->age = 22;
$bool =$student->save();
dd($student);*/ /*$student = Student::find(1007);
echo $student->created_at;*/ /*$student = Student::find(1007);
//自己格式化时间戳
echo date('Y-m-d H:i:s', $student->created_at);*/ //使用模型的Create方法新增数据:
/*$student=Student::create(
['name'=>'imooc','age'=>18]
);
var_dump($student);*/ //firstOrCreate() 以属性查找用户,若没有则新增,并取得新的实例:
/*$student= Student::firstOrCreate(
['name'=>'imoocs']
);
dd($student);*/ //firstOrNew()以属性查找用户,若没有则建立新的实例。需要保存的,自己调用save
$student = Student::firstOrNew(
['name' => 'imoocs789']
);
$bool = $student->save();
dd($bool);
} //ORM更新数据:
public function orm3()
{
//通过模型更新数据:( save保存方法不可行)
/*$student = Student::find(1001);
$student->name = 'kitty';
$bool=$student->save();
dd($bool);*/ //结合查询语句,批量更新:
/*$num=Student::where('id','>',1005)->update(
['age'=>41]
);
var_dump($num);*/ } //使用Eloquent ORM删除数据:
public function orm4(){ //通过模型删除数据:
/*$student=Student::find(1008);
$bool=$student->delete();
var_dump($bool);*/ //通过主键删除:
//
/*$num=Student::destroy(1010);*/ //删除两条数据:
/*$num=Student::destroy(1007,1009);*/
/*$num=Student::destroy([1007,1009]);
var_dump($num);*/ //通过条件删除:
/* $num=Student::where('id','>',1004)->delete();
var_dump($num);*/
}
模型的设置:
<?php namespace App; use Illuminate\Database\Eloquent\Model; class Student extends Model
{
//指定表名:
protected $table="student"; //指定id
protected $primaryKey="id"; //指定允许批量的字段:
protected $fillable=['name','age']; //指定不允许批量赋值的字段
protected $guarded=[]; //自动维护时间戳:
public $timestamps=true; //返回当前时间的时间戳,进入数据库,输出时,可以输出格式化好的时间。
protected function getDateFormat()
{
return time();
} //设置他之后,返回的就是数据表中的时间戳了。
protected function asDateTime($value)
{
return $value;
} }
laravel5.5种的Eloquent ORM的使用:的更多相关文章
- laravel5.5源码笔记(八、Eloquent ORM)
上一篇写到Eloquent ORM的基类Builder类,这次就来看一下这些方便的ORM方法是如何转换成sql语句运行的. 首先还是进入\vendor\laravel\framework\src\Il ...
- Laravel Eloquent ORM
Eloquent ORM 简介 基本用法 集体赋值 插入.更新.删除 软删除 时间戳 查询范围 关系 查询关系 预先加载 插入相关模型 触发父模型时间戳 与数据透视表工作 集合 访问器和调整器 日期调 ...
- [Laravel] 03 - DB facade, Query builder & Eloquent ORM
连接数据库 一.Outline 三种操作数据库的方式. 二.Facade(外观)模式 Ref: 解读Laravel,看PHP如何实现Facade? Facade本质上是一个“把工作推给别人做的”的类. ...
- Eloquent ORM模型中添加自定义值
我们都知道通过Laravel中数据库查询出来的模型对象都是基于数据库字段,今天给大家展示一个 Laravel Eloquent ORM 模型特性-附加值不存在于数据表中. 举个简单的栗子,一篇文章(p ...
- Eloquent ORM笔记
基本操作 新增 $user = new User; $user->name = 'John'; $user->save(); $insertedId = $user->id;//从对 ...
- [转]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对于模块之间的关联查询有自 ...
- Laravel 数据库操作 Eloquent ORM
laravel 操作数据库一般都使用它的Eloquent ORM才操作 建立模型 <?php namespace App; use Illuminate\Database\Eloquent\Mo ...
随机推荐
- ruby中的self
self,自己,在ruby中表示当前对象或默认对象.程序执行的任一时刻,有且仅有一个self. 1.谁成为self,在什么位置成为self? 要知道哪个对象是self,就必须知道当前的上下文.上下文主 ...
- cdoj1587 失恋772002天
地址:http://acm.uestc.edu.cn/#/problem/show/1587 题目: 失恋772002天 Time Limit: 3000/1000MS (Java/Others) ...
- Winter-2-STL-A Argus 解题报告及测试数据
Time Limit:2000MS Memory Limit:65536KB Description A data stream is a real-time, continuous, ord ...
- Python面试题之多个装饰器执行顺序
疑问 大部分涉及多个装饰器装饰的函数调用顺序时都会说明它们是自上而下的,比如下面这个例子: def decorator_a(func): print 'Get in decorator_a' def ...
- Python3.x:zip()函数
Python3.x:zip()函数 1,概述: zip函数接受任意多个(包括0个和1个)序列作为参数,返回一个tuple列表: 2,示例: (1).示例1: x = [1, 2, 3] y = [4, ...
- RocEDU.阅读.写作《苏菲的世界》书摘(二)
"迷信",多么奇怪的一个名词.如果你信基督教或伊斯兰教,这就叫"信仰",但如果你相信占星术或十三号星期五不吉利,就是迷信.谁有权利说别人相信的东西就是" ...
- python-集合、字典
文件操作: open() read() readline() readlines() write() writelines() flush() #刷新缓冲区 seek() 修改文件读写指针 t ...
- centos配置yum源为中国镜像源
有时候CentOS默认的yum源不一定是国内镜像,导致yum在线安装及更新速度不是很理想.这时候需要将yum源设置为国内镜像站点.国内主要开源的开源镜像站点应该是网易和阿里云了. 修改CentOS默认 ...
- SaltStack应用grains和jinja模板-第四篇
目标需求 1.使用jinja模板让apache配置监听本地ip地址 2.了解grains的基本使用方法 说明:实验环境是在前面的第二篇和第三篇基础上完成 实现步骤 使用grains获取ip地址信息 使 ...
- storm(一) window机制
Watermark作用 在解释storm的window之前先说明一下watermark原理. Watermark中文翻译为水位线更为恰当. 顺序的数据从源头开始发送到到操作,中间过程肯定会出现数据乱序 ...