基本操作

新增

$user = new User;
$user->name = 'John';
$user->save();
$insertedId = $user->id;//从对象取得 id 属性值

使用模型的 Create 方法

class User extends Model {
protected $guarded = ['id', 'account_id'];//黑名单,不会被更新
} // 在数据库中建立一个新的用户...
$user = User::create(['name' => 'John']); // 以属性找用户,若没有则新增并取得新的实例...
$user = User::firstOrCreate(['name' => 'John']); // 以属性找用户,若没有则建立新的实例...
$user = User::firstOrNew(['name' => 'John']);

删除

$this->where($where)->delete();

或者
$user = User::find(1);
$user->delete();

更新

return $this->where($where)->update($data);

或者
$user = User::find(1);
$user->update($data);

查找

//取出所有记录,all()得出的是对象集合,可以遍历
$this->all()->toArray(); //根据主键取出一条数据
$one = $this->find('2');
return array(
$one->id,
$one->title,
$one->content,
); //查找id=2的第一条数据
$this->where('id', 2)->first()->toArray(); //查找id>0的所有数据
$this->where('id', '>', '0')->get()->toArray(); //查找id>0的所有数据,降序排列
$this->where('id', '>', '0')->orderBy('id', 'desc')->get()->toArray(); //查找id>0的所有数据,降序排列,计数
$this->where('id', '>', '0')->orderBy('id', 'desc')->count(); //offset,limit
$this->where('id', '>', '0')->orderBy($order[0], $order[1])->skip($offset)->take($limit); //等同于
$this->where('id', '>', '0')->orderBy($order[0], $order[1])->offset($offset)->limit($limit);

更多:

//条件类:

where('id', '>', '0')
where('id', '>=', '0')
where('id', '<', '0')
where('id', '<=', '0')
where('id', 'like', 'name%') whereIn($key, $array)
whereNotIn($key, $array)
whereBetween($key, $array)
whereNotBetween($key, $array) orWhereIn($key, $array)
orWhereNotIn($key, $array)
orWhereBetween($key, $array)
orWhereNotBetween($key, $array) //结果方法:Illuminate\Database\Query\Builder first()取第一个
get()取所有
all()取所有(无条件) //聚合方法
count()统计
avg()求平均值
sum()
max()
min()

Eloquent ORM - Laravel 中文文档

http://laravel-china.org/docs/5.0/eloquent

Eloquent ORM笔记的更多相关文章

  1. Eloquent ORM 学习笔记

    最近在学习Laravel,觉得ORM功能很强大,我这里只是简单探索了一点,如果有更好的笔记,还请分享. 因为重点在于Eloquent ORM,所以路由设置,控制器就不详细描述了,这里直接进入Model ...

  2. laravel5.5源码笔记(八、Eloquent ORM)

    上一篇写到Eloquent ORM的基类Builder类,这次就来看一下这些方便的ORM方法是如何转换成sql语句运行的. 首先还是进入\vendor\laravel\framework\src\Il ...

  3. Eloquent ORM 之关联查询

    小伙伴们好,本文是在我的前一篇随笔的基础上完成的,还没有浏览的同学,请移尊驾哦 Eloquent ORM学习笔记. 前一篇文章用到了leftJoin方法,其实Eloquent对于模块之间的关联查询有自 ...

  4. Laravel Eloquent ORM

    Eloquent ORM 简介 基本用法 集体赋值 插入.更新.删除 软删除 时间戳 查询范围 关系 查询关系 预先加载 插入相关模型 触发父模型时间戳 与数据透视表工作 集合 访问器和调整器 日期调 ...

  5. [转]Laravel 4之Eloquent ORM

    Laravel 4之Eloquent ORM http://dingjiannan.com/2013/laravel-eloquent/ 定义Eloquent模型 模型通常放在app/models目录 ...

  6. Laravel 数据库操作 Eloquent ORM

    laravel 操作数据库一般都使用它的Eloquent ORM才操作 建立模型 <?php namespace App; use Illuminate\Database\Eloquent\Mo ...

  7. [Laravel] 03 - DB facade, Query builder & Eloquent ORM

    连接数据库 一.Outline 三种操作数据库的方式. 二.Facade(外观)模式 Ref: 解读Laravel,看PHP如何实现Facade? Facade本质上是一个“把工作推给别人做的”的类. ...

  8. laravel 5.1 使用Eloquent ORM 操作实例

    Laravel 的 Eloquent ORM 提供了更优雅的ActiveRecord 实现来和数据库的互动. 每个数据库表对应一个模型文件. 数据库配置 .env文件(也可以直接修改config/da ...

  9. laravel通过Eloquent ORM实现CURD

    //Eloquent ORM public function orm1() { //all(); 返回所有数据: /*$students=Student::all(); dd($students);* ...

随机推荐

  1. Web调试利器OpenWindow

    有些时候调试web页面,在循环里面我们不方便设置断点进行调试,或者调试起来比较麻烦,我们就可以用openWindow的方法打印出想要查看的信息,既方便又省时. 代码如下: OpenWindow = w ...

  2. 为什么我坚持学习C语言?

    c语言令无数人头疼,有意躲避! linux操作系统有c: glibc的c运行时库有c: mysql有c: php的底层有c: nosql层有c: 甚至其他的curl.nginx等等都有c: 每当问题追 ...

  3. WebView 上传文件 WebChromeClient之openFileChooser函数

    原链接:http://blog.saymagic.cn/2015/11/08/webview-upload.html?utm_source=tuicool&utm_medium=referra ...

  4. Nessus导入Cookie进行Web应用安全扫描

    在不导入Cookie使用Nessus进行扫描的时候,扫描的结果是比较简单的,很多深层的问题无法被扫描出来. 需要我们手动导入Cookie,带着Cookie的状态扫描的结果会更详细更深入,以下是操作步骤 ...

  5. Python 7 —— 扩展与嵌入

    Python 7 —— 扩展与嵌入 所谓扩展是指,在Python当中调用其他语言,由于Python的问题主要是效率,这里的扩展主要是指扩展C C++程序(重点) 所谓嵌入是指,在其他语言当中可以调用P ...

  6. WCF android调用

    http://www.cnblogs.com/cg6811568/archive/2013/05/23/3095119.html

  7. Eclipse配置tomcat后,启动tomcat,访问tomcat报404错误

    当你在Eclipse中新建一个工程,配置好tomcat,然后测试tomcat是否配置成功的时候,报404错误异常. 解决方法: 1,把工程文件删除,重新建立一个新的工程, 2,新建一个工程. 3,Ne ...

  8. pc端和android端应用程序测试有什么区别?(ps面试题)

    pc端和android端应用程序测试有什么区别?(ps面试题) [VIP7]大连-凭海临风(215687736) 2014/4/10 8:56:171.测试环境不同PC平台一般都是windows an ...

  9. 工作随笔——UIButton的EdgeInsets + Swift中的正则表达式;

    1.UIButton的EdgeInsets UIButton的EdgeInsets方法,是用来设置title和image对于上左下右四个方向的偏移,但是很奇怪的是,刚开始只有Image,titile也 ...

  10. 大型B2B网站开发手记 1

    本手记记录所有该B2B网站开发中遇到的问题和解决方法,一方面给大家一些思路,一方面提升自己,记录整个过程 1. 测试环境部署问题 部署环境是server2012 R2,部署上去发现WCF报错如下 sv ...