ORM模型简介
ORM模型简介
一.定义模型
class Flight extends Model
{
/**
* 与模型关联的数据表。
*/
protected $table = 'my_flights'; /**
* 指定主键。
*/
public $primaryKey = 'id'; /**
* 指定是否模型应该被戳记时间。
*/
public $timestamps = false; /**
* 模型的日期字段保存格式。
*/
protected $dateFormat = 'U'; /**
* 此模型的连接名称。
*/
protected $connection = 'connection-name';
}
二.添加模型(增)
//首先创建一个新模型实例
$flight = new Flight;
//给这个模型添加属性
$flight->name = $name;
$flight->length = $length;
//... 其它更多属性
$flight->save();
$flight = Flight ::create(Input::all());
$input = [ 'name'=>'test',
'content'=>'testflight',
'length'=>2000,
// 'price'=>1880, 即使这里写了价格,因为是受保护的,调用下面的create,也不会插入成功 ];
$flight = Flight ::create($input);
//如果想成功,那么就重新定义一下属性,然后调用save方法
$flight ->price= 200;
$flight ->save();
//$data是可以是二维数组
Flight::insert($data)
$flight = App\Flight::firstOrCreate(['name' => 'Flight 10']);
$flight = App\Flight::firstOrNew(['name' => 'Flight 10']);
$flight->save(); //存入到数据库
三.删除模型(删)
$flight = App\Flight::find(1);
//先从是数据库中取回数据
$flight->delete(); //实现删除
App\Flight::destroy(1);
App\Flight::destroy([1, 2, 3]);
App\Flight::destroy(1, 2, 3);
$deletedRows = App\Flight::where('active', 0)->delete();
四.更新模型(改)
$flight = App\Flight::find(1);
$flight->name = 'New Flight Name';
$flight->save();
App\Flight::where('active', 1) ->where('destination', 'San Diego') ->update(['delayed' => 1]);
$flights = Flight::all();
//我们遍历查找每个返回的flight实例,并且输出每个实例的name字段
foreach ($flights as $flight) {
echo $flight->name;
}
$flights = App\Flight::where('active', 1) ->orderBy('name', 'desc') ->take(10) ->get();
Flight::chunk(200, function ($flights) {
foreach ($flights as $flight) {
//
}
});
Illuminate\Database\Eloquent\Collection 实例,这个实例中包含多个Eloquent 模型,Collection 类提供多种辅助函数来处理 Eloquent 结果。我们也可以简单地像数组一样来遍历集合:$flight = App\Flight::find(1);
// 通过主键取回一个模型...
$flight = App\Flight::where('active', 1)->first();
// 取回符合查找限制的第一个模型 ...
$model = App\Flight::findOrFail(1);
//找不到模型时抛出一个异常
$model = App\Flight::where('legs', '>', 100)->firstOrFail();
$count = App\Flight::where('active', 1)->count();
$max = App\Flight::where('active', 1)->max('price');
关于返回值的实际操作传送门:laravel框架之返回值
ORM模型简介的更多相关文章
- laravel框架总结(八) -- ORM模型
ORM模型简介 1>什么是ORM? ORM,即 Object-Relational Mapping(对象关系映射),它的作用是在关系型数据库和业务实体对象之间作一个映射,这样,我们在操作具体的 ...
- laravel5.2总结--ORM模型
ORM模型简介 1>什么是ORM? ORM,即 Object-Relational Mapping(对象关系映射),它的作用是在关系型数据库和业务实体对象之间作一个映射,这样,我们在操作具体的 ...
- django创建ORM模型、通过ORM模型操作单个表、ORM模型常用字段
一.ORM简介 ORM ,全称Object Relational Mapping,中文叫做对象关系映射,通过ORM我们可以通过类的方式去操作数据库,而不用再写原生的SQL语句.通过把表映射成类,把行作 ...
- Sequelize 关系模型简介
Sequelize 关系模型简介 先介绍一下本文用到的术语: 源: 调用 sequelize 中关系方法的调用者 目标: 调用 sequelize 中关系方法中的参数 比如, User.hasOne( ...
- Django ORM模型的一点体会
作者:Vamei 出处:http://www.cnblogs.com/vamei 严禁转载. 使用Python的Django模型的话,一般都会用它自带的ORM(Object-relational ma ...
- Django ORM模型:想说爱你不容易
作者:Vamei 出处:http://www.cnblogs.com/vamei 严禁转载. 使用Python的Django模型的话,一般都会用它自带的ORM(Object-relational ma ...
- ORM模型
一.创建及映射(orm_intro_demo文件) 在项目新建App下的models.py文件下新建ORM模型: from django.db import models #如果要将一个普通的类变成一 ...
- jvm-垃圾回收gc简介+jvm内存模型简介
gc是jvm自动执行的,自动清除jvm内存垃圾,无须人为干涉,虽然方便了程序员的开发,但同时增加了开发人员对内存的不可控性. 1.jvm内存模型简介 jvm是在计算机系统上又虚拟出来的一个伪计算机系统 ...
- django ORM模型表的一对多、多对多关系、万能双下划线查询
一.外键使用 在 MySQL 中,如果使用InnoDB引擎,则支持外键约束.(另一种常用的MyIsam引擎不支持外键) 定义外键的语法为fieldname=models.ForeignKey(to_c ...
随机推荐
- [luogu3379]最近公共祖先(树上倍增求LCA)
题意:求最近公共祖先. 解题关键:三种方法,1.st表 2.倍增法 3.tarjan 此次使用倍增模板(最好采用第一种,第二种纯粹是习惯) #include<cstdio> #includ ...
- CentOS7:ifconfig command not found解决和netstat -an
没有 ifconfig 和netstat -an 的话安装 net-tools package yum install net-tools
- php学习笔记-while循环
while(condition) { func(); //break the loop } while循环的执行顺序是先判断condition是不是true,如果是true,那么就执行while循环体 ...
- GCD 学习(三)Main&Global Dispatch Queue
摘录自:http://zhuyanfeng.com/archives/3066 Main Dispatch Queue是在主线程中执行任务的Dispatch Queue.因为主线程只有1个,所以Mai ...
- SDUT 3399 数据结构实验之排序二:交换排序
数据结构实验之排序二:交换排序 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 冒泡排序和快 ...
- Loading Large Bitmaps Efficiently
有效地加载大位图文件-Loading Large Bitmaps Efficiently 图像有各种不同的形状和大小.在许多情况下,他们往往比一个典型应用程序的用户界面(UI)所需要的资源更大.例如, ...
- [译]在Javascript中进行日期相关的操作
本文翻译youtube上的up主kudvenkat的javascript tutorial播放单 源地址在此: https://www.youtube.com/watch?v=PMsVM7rjupU& ...
- Linux文件锁flock ,检测进程是否已经存在
在多个进程同时操作同一份文件的过程中,很容易导致文件中的数据混乱,需要锁操作来保证数据的完整性,这里介绍的针对文件的锁,称之为“文件锁”-flock. 头文件:#include<sys/fil ...
- Sql Server 数据恢复-破解版
首先,恭喜大家进了误删误改使得数据丢失的坑~~~~~ 不要担心,恢复就好了. 下载地址:https://pan.baidu.com/s/1a59U--Y6EmbPF2CFsxmo2Q 密码:jb14 ...
- ueditor UEditor的setContent的时候报错
今天在使用UEditor的setContent的时候报错,报错代码如下 TypeError: me.body is undefined 或 Uncaught TypeError: Cannot set ...