在 Laravel 框架之外使用数据库查询构建器及 Eloquent ORM

在 Laravel 框架核心代码的 illuminate/database 包中,有一个 Capsule 目录, 该目录下有一个 Manager.php 文件,如果要在 Laravel 之外使用 Illuminate Database 组件,就要通过该文件实现。以 Yii2 为例,我们首先在项目根目录下运行使用如下 Composer 命令安装该依赖包: composer require …

[ Laravel 5.2 文档 ] Eloquent ORM —— 关联关系

1、简介 数据表经常要与其它表做关联,比如一篇博客文章可能有很多评论,或者一个订单会被关联到下单用户,Eloquent 使得组织和处理这些关联关系变得简单,并且支持多种不同类型的关联关系: 一对一 一对多 多对多 远层一对多 多态关联 多对多的多态关联 2、定义关联关系 Eloquent 关联关系以Eloquent模型类方法的形式被定义。和 Eloquent 模型本身一样,关联关系也是强…

[ Laravel 5.2 文档 ] Eloquent ORM —— 起步

1、简介 Laravel 自带的 Eloquent ORM 提供了一个美观、简单的与数据库打交道的 ActiveRecord 实现,每张数据表都对应一个与该表进行交互的“模型”,模型允许你在表中进行数据查询,以及插入、更新、删除等操作。 在开始之前,确保在config/database.php文件中配置好了数据库连接。更多关于数据库配置的信息,请查看文档。 2、定义模型 作为开始,让我们…

[ Laravel 5.2 文档 ] 序言 —— 发行版本说明

1、支持政策 对于 LTS 版本,比如 Laravel 5.1,我们将会提供为期两年的 bug 修复和三年的安全修复支持。LTS 版本将会提供最长时间的支持和维护。 对于其他通用版本,只提供六个月的 bug 修复和一年的安全修复支持,比如 Laravel 5.2。 2、Laravel 5.2 Laravel 5.2 在 5.1 基础上继续改进和优化,添加了许多新的功能特性:多认证驱动支持…

Laravel 5.1 分页功能实现及如何自定义分页样式

我们在之前基于模型+缓存对文章增删改查进行优化一节中提到过,如果文章数量较多,可以对文章列表进行分页,本节我们将以该教程为基础对PostController的index方法进行改造,作为Laravel中分页的实例进行讲解。 Laravel中实现分页非常简单,因为Laravel底层为我们提供分页所需的一应组件,从分页逻辑实现到分页视图渲染,我们完全不需要编写任何业务逻辑代码,甚至连视图模板…

Laravel Eloquent 模型中使用时间戳

Laravel Eloquent模型类履行标准的时间戳管理,本脚本片段适用于所有场景(例如使用基本插入命令的迁移),此外,本脚本提供了覆盖存储时间戳格式的能力。 示例代码: class YourModel extends Eloquent { public $timestamps = false; public static function boot() { parent::boot(…

Eloquent ORM 实例教程 —— 关联关系及其在模型中的定义(二)

上一节我们讲了Eloquent ORM的三种基本关联关系:一对一、一对多和多对多,这一节我们来看一些更复杂的关联关系: 4、远层一对多 所谓的“远层一对多”指的是通过一个中间关联对象访问远层的关联关系,比如用户与文章之间存在一对多关系,国家与用户之间也存在一对多关系,那么通过用户可以建立国家与文章的之间的一对多关联关系,我们称之为“远层一对多”。 为了测试该关联关系我们新建一个国家表co…

Eloquent ORM 实例教程 —— 关联关系及其在模型中的定义(一)

数据表之间往往不是孤立的,而是纵横交叉、相互关联的,比如一个用户发表了多篇文章,一个文章又有多个评论,等等。Eloquent模型支持多种关联关系,下面让我们一一道来。 1、一对一 一对一是最简单的关联关系,表示表A和表B的记录一一对应,比如一个用户对应一个社交账号,在演示该关联关系之前我们先创建一个社交账号表user_accounts: php artisan make:migratio…

Eloquent ORM 实例教程 —— 查询作用域和模型事件

1、查询作用域 Eloquent还支持将一些常用的查询封装到模型方法中,方便调用,我们将其称之为“查询作用域”,实现查询作用域很简单,只需要在模型方法前加上scope前缀即可,比如我们经常需要获取浏览数最高的文章,就可以使用该机制实现——在Post中定义一个scopePopular方法: public function scopePopular($query) { return $que…

Eloquent ORM 实例教程 —— 模型删除及软删除相关实现

1、删除模型 1.1 使用delete删除模型 删除模型很简单,先获取要删除的模型实例,然后调用delete方法即可: $post = Post::find(5); if($post->delete()){ echo ‘删除文章成功!’; }else{ echo ‘删除文章失败!’; } 该方法返回true或false。 1.2 使用destroy删除模型 当然如果已知要删除的模型…