[ Laravel 5.5 文档 ] Eloquent ORM —— 进阶篇:使用 Eloquent 模型管理关联关系

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

[ Laravel 5.5 文档 ] Eloquent ORM —— 入门篇:使用 Eloquent 模型进行数据库操作

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

[ Laravel 5.5 文档 ] 数据库填充器 —— 初始化测试数据的好帮手

简介 Laravel 使用填充类提供了一个简单方法来填充测试数据到数据库。所有的填充类都位于 database/seeds 目录。填充类的类名完全由你自定义,但最好还是遵循一定的规则,例如 UsersTableSeeder 等。安装完 Laravel 后,默认会提供一个 DatabaseSeeder 示例类。从这个类中,你可以使用 call 方法来运行其他填充类,从而允许你控制填充顺序。…

[ Laravel 5.5 文档 ] 数据库迁移 —— 以版本控制的方式维护数据表

 简介 所谓迁移就像是数据库的版本控制,这种机制允许团队简单轻松的编辑并共享应用的数据库表结构。迁移通常和 Laravel 的 schema 构建器结对从而可以很容易地构建应用的数据库表结构。如果你曾经频繁告知团队成员需要手动添加列到本地数据库表结构以维护本地开发环境,那么这正是数据库迁移所致力于解决的问题。 Laravel 的 Schema 门面提供了与数据库系统无关的创建和操纵表的…

[ Laravel 5.5 文档 ] 数据库操作 —— 在 Laravel 中轻松实现分页功能

 简介 在其他框架中,分页是件非常痛苦的事,Laravel 让这件事变得简单易于上手。Laravel 的分页器与查询构建器和 Eloquent ORM 集成在一起,并开箱提供方便的、易于使用的、基于数据库结果集的分页。分页器生成的 HTML 兼容 Bootstrap CSS 框架。 基本使用 基于查询构建器进行分页 有多种方式实现分页功能,最简单的方式就是使用查询构建器或 Eloque…

[ Laravel 5.5 文档 ] 数据库操作 —— 使用进阶:通过查询构建器实现高级功能

 简介 数据库查询构建器提供了一个方便的流接口用于创建和执行数据库查询。查询构建器可以用于执行应用中绝大部分数据库操作,并且能够在 Laravel 支持的所有数据库系统上工作。 注:流接口是一种设计模式,更多关于流接口模式的设计和使用方式,可查看这篇教程:PHP 设计模式系列 —— 流接口模式。 Laravel 查询构建器使用 PDO 参数绑定来避免 SQL 注入攻击,不再需要过滤以绑…

[ Laravel 5.5 文档 ] 数据库操作 —— 快速入门:基本配置和使用、读写分离 & 数据库事务

简介 Laravel 让连接不同数据库以及对数据库进行增删改查操作变得非常简单,不论使用原生 SQL、还是查询构建器,还是 Eloquent ORM。目前,Laravel 支持四种类型的数据库系统: MySQL Postgres SQLite SQL Server 配置 应用的数据库配置位于 config/database.php(但是数据库用户及密码等敏感信息位于 .env 文件,如果…

[ Laravel 5.5 文档 ] 处理用户请求 —— Session 实现、配置与使用详解

简介 由于 HTTP 协议本身是无状态的,上一个请求与下一个请求无任何关联,为此我们引入 Session 来存储用户请求信息以解决特定场景下无状态导致的问题(比如登录、购物)。Laravel 通过简洁的 API 统一处理后端各种 Session 驱动,目前开箱支持的流行后端驱动包括 Memcached、Redis 和数据库。 学院君注:Laravel 并没有使用 PHP 内置的 Sess…

[ Laravel 5.5 文档 ] 序言 —— 新版特性

 概述 Laravel 5.5 是一个 LTS 版本,会提供为期 2 年的 bug 修复和为期 3 年的安全修复支持。 Laravel 5.5 在 Laravel 5.4 的基础上继续进行优化:新增了包自动检测功能、API资源/转化、自动注册控制台命令、队列任务链、队列任务速率限制、基于时间的任务尝试、可渲染的邮件、可渲染和报告的异常、更加一致的异常处理、数据库测试优化、更简单的验证规…

最佳实践系列(八):PHP 数据库统一处理 API —— PDO 扩展及其在 Laravel 底层的使用

PHP 支持多种数据库,如 MySQL、PostgreSQL、SQLite 和 Oracle 等,并且这些数据库都提供了用于 PHP 和相应数据库之间通信的扩展,如 mysqli、sqlite3 等。这样造成的一个问题是如果项目中使用了多种数据库,需要安装并使用多种 PHP 数据库扩展和接口,增加了学习和维护的成本。为此,从 PHP 5.1 开始引入了一个新的扩展 —— PDO。 PDO…