使用 Dingo API 扩展包快速构建 Laravel RESTful API(五)—— 转化器篇(下):结合响应构建器构建 JSON 响应

Dingo API 提供的转化器(Transformer)正是基于 Fractal 对响应数据格式进行一致性的转化。 在 Dingo 中定义的转化器类和 Fractal 中完全一致,Dingo 仅仅是在响应实现时对 Fractal 做了一层封装而已,所以我们可以完全基于上篇教程创建的转化器类进行本篇教程的演示。 为模型类注册转化器 在 Dingo API 中使用转化器最简单的方式就是先注...

[ Laravel 5.8 文档 ] 测试系列 —— 数据库测试

简介 Laravel 提供了多个有用的工具让测试数据库驱动的应用变得更加简单。首先,你可以使用辅助函数 assertDatabaseHas 来断言数据库中的数据是否和给定数据集合匹配。例如,如果你想要通过 email 值为 xueyuanjun@laravelacademy.org 的条件去数据表 users 查询是否存在该记录 ,我们可以这样做: public function tes...

[ Laravel 5.8 文档 ] Eloquent ORM —— API 资源类

简介 构建 API 时,在 Eloquent 模型和最终返回给应用用户的 JSON 响应之间可能需要一个转化层。Laravel 的资源类允许你以简单优雅的方式将模型和模型集合转化为 JSON 格式数据。 生成资源类 要生成一个资源类,可以使用 Artisan 命令 make:resource,默认情况下,资源类存放在应用的 app/Http/Resources 目录下,资源类都继承自 I...

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

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

[ Laravel 从入门到精通 ] 数据库和 Eloquent 进阶 —— Eloquent 模型关联关系(下)

在前面两篇教程中,学院君陆续给大家介绍了 Eloquent 模型类支持的七种关联关系,通过底层提供的关联方法,我们可以快速实现模型间的关联,并且进行关联查询。今天我们将在定义好模型关联的基础上进行关联查询、插入和更新操作,看看如何借助模型关联提高代码的可读性并提高编码效率。 关联查询 关于关联查询,我们在前面介绍关联关系定义的时候已经穿插着介绍过,这里简单回顾下。在 Eloquent 模...

[ Laravel 从入门到精通 ] 数据库和 Eloquent 进阶 —— Eloquent 模型关联关系(中)

在上一篇教程中我们给大家介绍了一对一、一对多、多对多这三种日常工作中很常见的关联关系及其使用,这一篇教程我们将继续介绍剩下的四种更加复杂的关联关系,分别是远层一对多和多态关联(包哈三种子类型),这几个关联关系听起来就让人有点懵,所以学院君将结合具体实例来讲解,希望看完这篇教程,你可以掌握这几种关联关系。 远层一对多关联 什么是远层一对多关联 我们在上一篇教程中学习了一对多关联,远层一对多...

[ Laravel 从入门到精通 ] 数据库和 Eloquent 进阶 —— Eloquent 模型关联关系(上)

我们所熟知的 MySQL、SQL Server、Oracle 都是关系型数据库,何谓关系型数据库?简单来说就是数据表之间存在关联关系。到目前为止,我们介绍的所有 Eloquent 模型操作都是针对单表的,接下来我们将花三篇左右的篇幅来给大家介绍如何在 Eloquent 模型类中建立模型之间的各种关联关系,以及如何实现关联查询和更新。 Eloquent 模型支持的关联关系包括以下六种: ...

基于 Laravel + Vue 构建 API 驱动的前后端分离应用系列(十八) —— 实现 Laravel 模型类之间的多对多关联及冲泡方法前端查询 API

在前面的教程中,我们已经陆续完成了咖啡店的添加和在高德地图上的标记,接下来我们会实现一些更加复杂的功能,在实现这些功能之前,需要先准备好数据结构,因为一个咖啡店可能会提供多种冲泡方法,单个冲泡方法本身也不隶属于任何咖啡店,所以在这篇教程中,我们将通过 Laravel Eloquent 模型类的多对多关联来构建咖啡店和对应冲泡方法之间的关联关系,有关多对多关联的实现,可以先阅读下官方文档。...

[ Laravel 5.7 文档 ] 测试系列 —— 数据库测试

简介 Laravel 提供了多个有用的工具让测试数据库驱动的应用变得更加简单。首先,你可以使用辅助函数 assertDatabaseHas 来断言数据库中的数据是否和给定数据集合匹配。例如,如果你想要通过 email 值为 xueyuanjun@laravelacademy.org 的条件去数据表 users 查询是否存在该记录 ,我们可以这样做: public function tes...

[ Laravel 5.7 文档 ] Eloquent ORM —— API 资源

简介 构建 API 时,在 Eloquent 模型和最终返回给应用用户的 JSON 响应之间可能需要一个转化层。Laravel 的资源类允许你以简单优雅的方式将模型和模型集合转化为 JSON 格式数据。 生成资源类 要生成一个资源类,可以使用 Artisan 命令 make:resource,默认情况下,资源类存放在应用的 app/Http/Resources 目录下,资源类都继承自 I...