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删除模型 当然如果已知要删除的模型…

Eloquent ORM 实例教程 —— 模型创建、更新及批量赋值

1、创建模型 1.1 使用save方法创建模型 调用Eloquent模型类的save方法即可创建模型并插入数据到数据库: $post = new Post; $post->title = ‘test 4’; $post->content = ‘test content’; $post->user_id = 1; $post->cat_id = 1; if($pos…

Eloquent ORM 实例教程 —— ORM概述、模型定义及基本查询

1、引子 在正式进入本节的之前,让我们先来看看什么是ORM。 ORM,即 Object-Relational Mapping(对象关系映射),它的作用是在关系型数据库和业务实体对象之间作一个映射,这样,我们在操作具体的 业务对象时,就不需要再去和复杂的SQL语句打交道,只需简单的操作对象的属性和方法即可。 ORM 两种最常见的实现方式是 ActiveRecord 和 DataMapper…

[ Lumen 5.1 文档 ] 更多特性 —— 数据库

1、配置 在Lumen中连接数据库和运行查询都非常简单,目前Lumen支持四种数据库系统:MySQL、Postgres、SQLite和SQL Server。 你可以在配置文件.env中使用配置选项DB_*来配置数据库设置,例如驱动、主机、用户名和密码。 注意:为了让配置值被加载,你需要取消bootstrap/app.php文件中Dotenv::load()调用前的注释。 2、基本使用 注…

[ Laravel 5.1 文档 ] 服务 —— 分页

1、简介 在其他框架中,分页是件非常痛苦的事,Laravel则使其变得轻而易举。Laravel能够基于当前页智能生成一定范围的链接,且生成的HTML兼容Bootstrap CSS 框架。 2、基本使用 2.1 基于查询构建器分页 有多种方式实现分页,最简单的方式就是使用查询构建器或Eloquent模型的paginate方法。该方法基于当前用户查看页自动设置合适的偏移(offset)和限制…