[ Laravel 从入门到精通 ] 数据库和 Eloquent 进阶 —— 在 Eloquent 模型类上使用全局作用域和局部作用域进行查询

问题引出 在通过 Eloquent 模型实现增删改查这篇教程中,我们已经学习了如何在 Eloquent 模型类中进行各种查询,但是这些查询大多需要手动调用查询构建器提供的各种方法来实现。如果有一些查询需要在多个地方调用,那么在每个地方都要编写同样的代码,有没有什么办法对这种场景下的查询代码进行优化呢? Eloquent 模型类提供的「Scope」功能就可以帮我们实现这种优化。「Scope...

[ Laravel 从入门到精通 ] 数据库和 Eloquent 进阶 —— 通过 Eloquent 模型实现简单增删改查操作

概述 Eloquent 是一个 ActiveRecord ORM 框架,ORM 全称是 Object Relational Mapping,意为对象关系映射,用于实现面向对象编程语言里不同类型系统的数据之间的转换,简单来说,它会构建类与数据表之间的映射关系,从而建立起一个可在编程语言里使用的「虚拟对象数据库」。「ActiveRecord」是 ORM 的一种实现模式,Eloquent 则是...

[ Laravel 从入门到精通 ] 数据库和 Eloquent 进阶 —— 通过查询构建器实现复杂的查询语句

在上一篇教程中,我们通过查询构建器实现了简单的增删改查操作,而日常开发中,往往会涉及到一些更复杂的查询语句,比如连接查询、子查询、排序、分页、聚合查询等等,这一篇教程我们将围绕这些内容展开探讨。 查询小技巧 我们首先来介绍几个 Laravel 自带的语法糖,可以帮助我们快速获取期望的查询结果,提高编码效率。 有时候,我们想要获取的并不是一行或几行记录,而是某个字段的值,你当然你可以查询到...

[ Laravel 从入门到精通 ] 数据库和 Eloquent 入门 —— 通过查询构建器实现简单的增删改查操作

通过前面几篇教程的预热,我们已经连接上数据库,创建好了数据表,填充好了数据,接下来,就是在 Laravel 应用中实现对数据库的增删改查了。 Laravel 数据库功能的核心就是提供流式接口与数据库进行交互的查询构建器(Query Builder),支持 MySQL、Postgres、SQLite 和 SQL Server 等常见的数据库管理系统,没有特别说明的话,我们的所有教程都基于 ...

[ Laravel 5.7 文档 ] 数据库操作 —— 快速入门

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

Laravel API 系列教程(五):基于 GraphQL 构建 Laravel API —— 高级使用篇

上一篇教程中我们重点探讨了 GraphQL 的概念及其在 Laravel API 构建中的基本使用,本篇教程将在其基础上探讨关于 GraphQL 的一些更高级的使用。 带参数的查询 带参数的查询是构建 API 时的常见操作,上一篇教程中编写的列表查询功能已经支持带参数查询,只需传入相应查询参数即可:  嵌套资源 关联关系是 Laravel 模型操作中又一重要功能,...

Laravel API 系列教程(四):基于 GraphQL 构建 Laravel API —— 基本使用篇

GraphQL 简介 GraphQL 是一个用于 API 的查询语言,同时也是一个通过为你的数据定义类型系统进行查询的服务端运行时。GraphQL 与数据库或任意存储引擎无关,仅仅是代码逻辑层面的查询实现。 通过 GraphQL,可以提高 API 调用的灵活性。我们可以在访问 API 时像编写数据库查询一样通过编写查询语句指定需要的数据,这在构建复杂 API 时很有用,Gra...

[ Laravel 5.5 文档 ] 官方扩展包 —— 全文搜索解决方案:Laravel Scout

简介 Laravel Scout 为 Eloquent 模型全文搜索实现提供了简单的、基于驱动的解决方案。通过使用模型观察者,Scout 会自动同步更新模型记录的索引。 目前,Scout 通过 Algolia 驱动提供搜索功能,不过,编写自定义驱动很简单,你可以很轻松地通过自己的搜索实现来扩展 Scout。 注:Algolia 是一个托管式的全文搜索引擎,我们可以通过其提供...

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

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

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

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