码迷,mamicode.com
首页 > 其他好文 > 详细

laravel3学习笔记(六)

时间:2014-07-22 00:17:36      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:des   使用   文件   数据   io   art   

原作者博客:ieqi.net

====================================================================================================

ORM

Laravel3中MVC体系中Model里最重要的组成部分无疑是ORM了,ORM — object-relational mapper — 将数据操作面向对象化,使得整个web框架的核心风格统一,降低整体复杂度,为开发者提供便利。

Laravel3中的ORM叫做Eloquent,是一个非常轻量化的ORM层,但是轻量并不简陋,基本上涵盖了在web开发中可能遇到的各种数据操作情景。

 

首先,我们要建立基于Eloquent的Model类,非常简单,只需要在application/models目录下建立以类名小写为文件名的php文件,比如我们要建立User类,那么我们建立application/models/user.php文件,其中内容为:

// 需要继承 Eloquent 类
class User extends Eloquent {}

这样我们就建立了基于Eloquent的User Model类,再无多余配置,在此,我们需要清楚的是Laravel3提供这样简便配置方式的前提假设,假设有二:

一、 数据库中存在以类名复数形式为名的表,以上为例就是数据库中存在users表。
二、 此表中,包含一个名为id的主键字段。

当然,你也可以不按约定而自己指定表:

class User extends Eloquent {
    // 指定User类对应的表为my_users
    public static $table = ‘my_users‘;
}

获取数据

根据主键id获取数据对象:

// 或缺id为1的User信息
$user = User::find(1);

然后我们就可以操作数据对象,获取对象的属性:

// 打印出此user对象的email属性
echo $user->email;

获取类的全部对象:

$users = User::all();
// 循环处理
foreach ($users as $user)
{
     echo $user->email;
}

根据各种条件获取数据对象,条件的编写方式与Fluent一样,具体可以参照Fluent去实现:

// 获取email字段为$email的第一个记录
$user = User::where(‘email‘, ‘=‘, $email)->first();
// 同上(利用反射的方式将字段名写到方法名中)
$user = User::where_email($email)->first();
// 获取id在1、2、3之中或者email字段为$email的所有数据
$users = User::where_in(‘id‘, array(1, 2, 3))->or_where(‘email‘, ‘=‘, $email)->get();
// 按votes字段倒排序的前10条数据
$users = User::order_by(‘votes‘, ‘desc‘)->take(10)->get();

可以调用SQL中各种统计类的函数:

// 最小值
$min = User::min(‘id‘);
// 最大值
$max = User::max(‘id‘);
// 平均值
$avg = User::avg(‘id‘);
// 总和
$sum = User::sum(‘id‘);
// 计数
$count = User::count();

当然,这些方法可以和条件语句复合使用。

$count = User::where(‘id‘, ‘>‘, 10)->count();

新建数据

利用Eloquent新建数据非常简单,先实例化Model类,然后给属性赋值,最后执行save()方法:

$user = new User;

$user->email = ‘example@gmail.com‘;
$user->password = ‘secret‘;
// 写入数据
$user->save();

如果觉得过程式的方式比较繁琐,还可以利用create方法直接创建数据:

$user = User::create(array(‘email‘ => ‘example@gmail.com‘));

更新数据

更新数据也很简单,首先获取数据对象,然后操作数据属性,最后执行save()方法保存:

// 获取数据对象
$user = User::find(1);

$user->email = ‘new_email@gmail.com‘;
$user->password = ‘new_secret‘;
// 保存数据
$user->save();

删除数据

首先获取数据对象,然后执行delete()方法:

// 获取数据对象
$user = User::find(1);
$user->delete();

 

laravel3学习笔记(六),布布扣,bubuko.com

laravel3学习笔记(六)

标签:des   使用   文件   数据   io   art   

原文地址:http://www.cnblogs.com/leezhxing/p/3858562.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!