[ Laravel 从入门到精通 ] 数据库和 Eloquent 应用 —— 结合 Bootstrap + Vue 组件实现异步分页功能

通过前面的系列教程,我们已经介绍完了 Laravel 框架支持的所有对数据库相关基础功能。在日常开发中,对数据库查询结果进行分页也是一个非常常见的需求,我们可以基于之前介绍的查询方法和前端 HTML 视图实现分页功能,不过从 Laravel 5.3 开始,Laravel 框架就已经为我们提供了非常完整的分页解决方案,包括后端 API 和前端视图。不管你使用查询构建器还是 Eloquent...

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

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

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

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

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

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

[ Laravel 从入门到精通 ] 数据库和 Eloquent 进阶 —— Eloquent 模型事件和监听方式大全

所有支持的模型事件 在 Eloquent 模型类上进行查询、插入、更新、删除操作时,会触发相应的模型事件(关于事件我们后面会单独讲),不管你有没有监听它们。这些事件包括: retrieved:获取到模型实例后触发 creating:插入到数据库前触发 created:插入到数据库后触发 updating:更新到数据库前触发 updated:更新到数据库后触发 saving:保存到数据库...

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

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

[ Laravel 从入门到精通 ] 数据库和 Eloquent 进阶 —— 在 Eloquent 模型类上设置访问器和修改器

问题引出 前面两篇教程我们陆续为大家介绍了模型类的基本增删改查操作,以及如何通过模型类进行批量赋值和软删除,今天我们继续为大家介绍模型类的高级特性 —— 访问器和修改器。 在讲访问器和修改器之前,我们先来看一个例子,在带有用户功能的系统中,除了用户注册时使用的用户名之外,我们有时候还允许用户设置昵称,这个昵称是可选的,我们在页面上显示用户名时,会优先展示用户昵称,如果该用户没有设置昵称,...

[ Laravel 从入门到精通 ] 数据库和 Eloquent 进阶 —— 通过 Eloquent 模型实现批量赋值和软删除

在上一篇教程中,我们基于 Eloquent 模型实现了对数据表记录的增删改查操作,今天我们在此基础上介绍两个 Eloquent 模型提供的高级功能 —— 批量赋值和软删除。 批量赋值 批量赋值主要用于快速设置模型属性。 在介绍批量赋值之前,我们先看一个例子,之前我们新增或者修改 Eloquent 模型时都是通过依次设置每个属性来实现的: $post = new App\Post; $po...

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

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

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

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