Laravel ORM 数据model操作

1.ORM操作需要创建对应的model

class User extends Eloquent

2.有两种方式使用数据操作对象

a. 使用new关键字创建对象后执行对象的方法

b. 直接调用static方法(实际并发静态方法,而是fascade生成的)

3.常用数据操作

a.  User::find(1)    查找单条数据
       b.  User::all()        查找所有数据
       c.   User::find(1)->delete()    删除单条数据
       d.    User::destory(array(1,2,3))    删除单条或多条数据
       e.    User::save()        保存数据
        f.    User::first()        取第一条数据
       g.    Album::where(‘artist‘, ‘=‘, ‘Matt Nathanson‘) ->update(array(‘artist‘ => ‘Dayle Rees‘));    指定查询条件,更新数据
        h.  User::truncate()    清空数据表,危险操作
        i.   Album::where(‘artist‘, ‘=‘, ‘Something Corporate‘)->get(array(‘id‘,‘title‘));    配合查询条件获取多条数据
       j. Album::pluck(‘artist‘);            返回表中该字段的第一条记录
       k. Album::lists(‘artist‘);                返回一列数据
       l.   Album::where(‘artist‘, ‘=‘, ‘Something Corporate‘)->toSql();     获取查询的sql语句,仅用于条件,不能用户带get()之类的带查询结果的查询中

注:直接使用return 查询结果为json格式的数据

这里使用的User为model名称

条件查询:

1. 最普通的条件查询 User::where(‘字段名‘,‘查询字符‘,‘限制条件‘)     例:Album::where(‘title‘, ‘LIKE‘, ‘...%‘)

2. 多条件查询,使用多个where    Album::where(‘title‘, ‘LIKE‘, ‘...%‘)->where(‘artist‘, ‘=‘, ‘Say Anything‘)->get();

3. 或查询操作使用orWhere(),使用方法通where

4.直接用sql语句写查询条件    Album::whereRaw(‘artist = ? and title LIKE ?‘, array(‘Say Anything‘, ‘...%‘))

5. 其他查询方法

whereIn(),whereBetween(),whereNested()子查询,orWhereNested(),whereNotIn(),whereNull(),whereNotNull()

6. 快捷方式  whereUsername(‘king‘)  查询‘username‘ = ‘king‘的数据,默认系统无此方法,username为字段名称

结果排序:

使用order关键字:

Album::where(‘artist‘, ‘=‘, ‘Matt Nathanson‘)->orderBy(‘year‘)->get();   默认asc
    orderBy(‘year‘, ‘desc‘)

限制结果数量

take()方法

Album::take(2)->get();                          //select * from `albums` limit 2

指定偏移

Album::take(2)->skip(2)->get();        //select * from `albums` limit 2 offset 2

原网站:http://www.cnblogs.com/kisay/p/bdcaddad38ba26039af0d4473ad9ceba.html

时间: 2024-11-03 20:46:49

Laravel ORM 数据model操作的相关文章

Laravel Eloquent ORM 数据model操作

Laravel ORM 数据model操作 注意:ORM关联操作最后一定要记得带get()方法!否则会获取不到数据,为null 如: posts表 comments表  id id  contents post_id comment post模型内定义一对多关系hasMany 1 //定义关联关系 2 public function comments(){ 3 return $this->hasMany(Comments::class,'post_id','id'); 4 } 1 //容器内调用

Django学习手册 - ORM 数据表操作

queryset 数据类型介绍 QuerySet与惰性机制 所谓惰性机制:表名.objects.all()或者.filter()等都只是返回了一个QuerySet(查询结果集对象),它并不会马上执行sql,而是当调用QuerySet的时候才执行. QuerySet特点: <1>  可迭代的 <2>  可切片 <3>  惰性计算和缓存机制 例: info=models.table_name.objects.all()[0:5] #切片 info= models.table

Django—Model操作

Django 模型是与数据库相关的,与数据库相关的代码一般写在 models.py 中,Django 支持 Sqlite3.MySQL.PostgreSQL 等数据库,只需要在 settings.py 中配置即可,不用更改 models.py 中的代码,丰富的 API 极大的方便了使用. 一.创建表 1. 基本结构 1 from django.db import models 2 3 class UserInfo(models.Model): 4 #若不指定主键,则会自动创建int类型的id列为

Python之路【第二十二篇】:Django之Model操作

Django之Model操作 一.字段 AutoField(Field) - int自增列,必须填入参数 primary_key=True BigAutoField(AutoField) - bigint自增列,必须填入参数 primary_key=True 注:当model中如果没有自增列,则自动会创建一个列名为id的列 from django.db import models class UserInfo(models.Model): # 自动创建一个列名为id的且为自增的整数列 usern

thinkphp 和 laravel使用sql语句操作db和源码浅析

前言 对于一个PHP应用,可能最多的就是操作数据,以致于初学者有时只把php当做数据库增删查改的工具(这也无可厚非).而基于框架的语言,在框架中自然不能少了对数据库操作的封装,总想打开源码,看看到底是怎么工作的,趁着有时间~~ thinkphp[tp框架] 首先是这个中国人用的最多的框架说起.ps:我是基于thinkphp3.2来说,tp5.x党见谅~ thinkphp支持对原生的sql语句执行,如: $db=M(); $condition="XXX"; $sql="sele

ORM表相关操作

一般操作 看专业的官网文档,做专业的程序员! 必知必会13条 <1> all(): 查询所有结果 <2> filter(**kwargs): 它包含了与所给筛选条件相匹配的对象 <3> get(**kwargs): 返回与所给筛选条件相匹配的对象,返回结果有且只有一个,如果符合筛选条件的对象超过一个或者没有都会抛出错误. <4> exclude(**kwargs): 它包含了与所给筛选条件不匹配的对象 <5> values(*field): 返回

ORM多表操作(object与queryset)

ORM多表操作 一.创建模型 作者模型:一个作者有姓名和年龄. 作者详细模型:把作者的详情放到详情表,包含生日,手机号,家庭住址等信息:作者详情模型和作者模型之间是一对一的关系. 出版商模型:出版商有名称,所在城市以及邮箱. 书籍模型: 书籍有书名和出版日期,一本书可能会有多个作者,一个作者也可以写多本书,所以作者和书籍的关系就是多对多的关联关系:一本书只应该由一个出版商出版,所以出版商和书籍是一对多关联关系. from django.db import models class Author(

Django的orm的高级操作

Django的orm的高级操作 查询语法大全: 比较运算符 # id > 3 res = models.UserInfo.objects.filter(id__gt=3) # id >= 3 res = models.UserInfo.objects.filter(id__gte=3) # id < 3 res = models.UserInfo.objects.filter(id__lt=3) # id <= 3 res = models.UserInfo.objects.fil

Django框架05 /orm单表操作

目录 Django框架05 /orm单表操作 昨日内容回顾 今日内容 orm单表操作 对象关系映射(object relational mapping) 1.orm介绍 2.增: 3.时间问题 4.删 5.改 6.批量插入 -- bulk_create 7.查询api 8.基于双下划线的模糊查询 -- filter双下划线查询 9.总结 总结1 总结2 Django框架05 /orm单表操作 昨日内容回顾 模板相关 模板继承(母版继承) 1. 创建一个xx.html页面(作为母版,其他页面来继承