首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

具有嵌套关系可重用API资源——Laravel5.5

这个命令会从 Laravel 官方存储库中下载最新版本 Laravel 5.5 代码并安装到名为 "responses" 文件夹。...重命名资源(修复遗留问题)之前创建了一名为UsersWithPostsResource资源。让我们将其重命名为UsersResource,并了解如何在以下步骤重用它。 5....,并确保为每个记录实例化一UsersResource。...简单来说,这意味着资源类可以直接使用 $this->attributeName 方式访问模型属性,而不必每次都通过模型实例去获取属性。...这样做有利于避免 N+1 查询问题(在获取关联数据时出现效率问题),同时可以使用单个资源类处理不同情况。如果关联数据不可用,资源类会忽略它;反之,如果可用,资源类会将其包含在返回数据

11810
您找到你想要的搜索结果了吗?
是的
没有找到

laravel一些简单实用功能

前言 N年前 Laravel 刚面世时,的确让很多人眼前一亮,众人惊呼原来 PHP 代码还可以写得这么简洁优雅。...本文主要介绍是关于laravel一些简单实用功能,分享出来供大家参考学习,下面话不多说了,来一起看看详细介绍吧 让lumendd() dump()像laravel一样优雅 composer...(); // 获取查询日志 dd($queries); // 即可查看执行sql,执行时间,传入参数等等 } 只能查看简单sql不能看到传入参数 DB::table('posts')...- toSql(); 查询sql记录 如果,你想要将日志文件保存在 storage/logs 目录。...* * @return void */ public function register() { // } } Laravel何在模型事件获取某字段修改前值 Issue

1.3K10

Laravel 模型关联基础教程详解

Laravel 定义模型关联是每个 Laravel 开发者可能已经做过不止一次事情。但是在试图实现关联时可能会遇到各种问题。因为 Laravel 有各种各样关联,你应该选择哪一?...一用户只能拥有一张通行证,同样,一张通行证也只属于一用户。 让我们看看如何在代码定义这种关联。 <?...我们通过 hasOne 方法告诉 Laravel User 模型有一 Passport 。 注意: 所有用于定义关联方法都有可选额外参数,你可以在这些参数定义本地键和外键。...如果每个供应商都有一用户,并且每个用户与一用户历史记录相关联,那么供应商可以通过用户访问用户历史记录。...第二参数是中间模型名称。 远程一对多 「has many through」 关联相当于 「has one through」 关联,只是对于多个记录

5.5K31

通过填充器快速填充 Laravel 测试数据

现在,我们先抛开测试不谈,赶紧来看下如何在 Laravel 定义模型工厂。...创建模型工厂 模型工厂位于 database/factories 目录下,Laravel 自带了一用于填充 User 模型模型工厂 UserFactory.php: define 方法来定义 User 模型模型工厂,该方法第一参数是模型类,第二参数是一匿名函数,在该匿名函数我们通过 Faker 类库提供方法来定义字段规则...,替换成新模型工厂方式,代码瞬间简洁了很多,由于我们在 UserFactory.php 全局定义了 User 模型模型工厂,所以在这里只需调用 factory 方法,传入对应模型类和要填充记录数即可...本系列教程首发在Laravel学院(laravelacademy.org),你可以点击页面左下角阅读原文链接查看最新更新教程。

10K20

基于 Redis + 资源库模式实现 Laravel 应用缓存功能

今天学院君来给大家演示如何在 Laravel 项目中基于 Redis 实现应用缓存功能,这想必也是很多人日常使用 Redis 最多业务场景,这里缓存指的是将数据库查询结果存储到 Redis,其目的是将数据加载从磁盘...,我们引入了 Post 模型实例作为底层数据源,接下来,就可以编写一基于主键 ID 获取单篇文章数据 getById 方法,以及基于多个文章 ID 获取多篇文章数据 getByManyId 方法了...测试引入缓存后代码 接下来,我们来测试下引入缓存后代码是否可以正常工作,为了验证确实命中了缓存,我们可以安装 Laravel Debugbar 扩展包进行对比查看: 可以看到在数据库查询记录里面,不存在查询文章记录操作...我们再来看热门文章排行榜: 查询记录为空,模型实例数量也为空,说明成功命中了缓存。...更多 Laravel 自带缓存组件功能特性,请参考官方文档,这里就不一一介绍了。 本系列教程首发在学院君网站(xueyuanjun.com),你可以点击页面左下角阅读原文链接查看最新更新教程。

2.5K10

Laravel 数据库连接配置和读写分离

今天开始讲如何在 Laravel 操作数据库,Laravel 为我们提供了多种工具实现对数据库增删改查,在我们使用 Laravel 提供这些数据库工具之前,首先要连接到数据库。...当然,对于 Web 应用而言,大多是读多写少,所以你还可以配置多个 read 主机,Laravel 底层负载均衡机制是随机从配置 IP 挑一连接: 'read' => [ 'host'...,所以只能查出来我们在上一篇教程在读数据库插入记录。...读写分离配置 `sticky` 配置项 在读写分离配置,我们注意到新增了一 sticky 配置项,这个是用来干嘛呢?...如果该配置项设置为 true 的话,在同一请求生命周期中,写入数据会被立刻读取到,底层原理其实就是读操作也从写数据库读取,因为写数据库始终是最新数据,从而避免主从同步延迟导致数据不一致。

5.2K20

Laravel 队列使用实现

通过在 .env QUEUE_CONNECTION 选项,来决定选择何种驱动。 QUEUE_CONNECTION=database 即为选择数据库驱动队列。...3 原理 所谓队列,会有数据生产者和消费者之分。生产者向队列投递数据,消费者从队列获取数据。...比如向用户发送邮件场景:现在有10w封邮件需要发送,最简单,我们需要有一方法将邮件收件人、内容等,拆分成10w条任务放在队列,同时需要设置一回调方法负责处理每条任务。...任务执行失败原因有很多,传参错误、尝试次数超过限制、超时、甚至在 handle 方法抛出异常,均会作为失败任务处理。...官方并未提供Windows版,RedisWindows版式由微软工作组维护,你可以从其GitHub页 找到。不过貌似已经不再维护了,最新版本是16年发布3.2.100。

2.3K41

使用Entrust扩展包在laravel 实现RBAC功能

\User::class, 'table' = 'users', ], ], 你还可以发布该扩展包配置以便后续自定义相关表名以及模型命名空间: php artisan vendor:publish...onDelete('cascade') 以便父级记录被删除后移除其对应关联关系。...如果你由于某种原因不能在数据库中使用级联删除,那么可以在EntrustRole 、EntrustPermission 类以及HasRole trait提供事件监听器手动删除关联表记录。...不过,由于Laravel事件监听器局限性,所以暂时无法区分是调用delete() 还是forceDelete() ,基于这个原因,在你删除一模型之前,必须手动删除所有关联数据(除非你数据表使用了级联删除...实现RBAC功能文章就介绍到这了,更多相关Entrust扩展包实现RBAC内容请搜索ZaLou.Cn以前文章或继续浏览下面的相关文章希望大家以后多多支持ZaLou.Cn!

6.1K10

掌握 Laravel 测试方法

这就是应该如何创建「功能测试」用例秘密。接下来我们将创建具体测试用例,来讲解如何在 Laravel 中使用「单元测试」和「功能测试」。...我们通过请求 id 参数,从 Post 模型查询一篇文章。...单元测试 上一节我们搭建了用于测试环境。本节我们会在 Laravel 编写单元测试用例对 Post 模型进行测试。 幸运是,Laravel 同样为我们提供了创建测试用例模版文件命令工具。...之后,我们通过 Post 模型获取经过 getNameAttribute 方法处理过后同一篇文章标题赋值给 $model_post_title。...最后,通过 assertEquals 方法比较两变量是否相等。 以上就是如何在 Laravel 中使用单元测试使用方法。

5.7K10

通过 Laravel 创建一 Vue 单页面应用(二)

在这个教程,我们通过学习怎样从 Vue 组件 Laravel API 加载异步数据,来继续在 Laravel 创建一 Vue 单页应用(SPA)。...我们也会看看相关错误处理,比如当 API 返回错误,接口如何响应。 如果你没有学习 第一部分,我们通过 Vue Router 和 Laravel 后端组建 Vue 单页应用(SPA)。...', 10)->make(); }); 我们临时路由采用 模型工厂 来创建一还没有保存到数据库 Eloquent 模型集合。...,我们添加了一路由从无状态 Laravel API 获取一些假用户。...在 第三部分 我们尝试在 Vue Router 中使用一回调来获取数,在导航到组件之前,让你看看如何在渲染 router view 之前获取数据。

3.4K30

laravel与thinkphp之间区别与优缺点

3、Laravel框架提供了大量闭包 作为菜鸟我目前只使用了use方法,即如何在函数内部使用外层变量。...摘自5.1手册:(Laravel Eloquent ORM 提供了漂亮、简洁 ActiveRecord 实现来和数据库进行交互。每个数据库表都有一对应模型」可用来跟数据表进行交互。...你可以通过模型查找数据表内数据,以及将记录添加到数据表。)...本人在实际使用也实实在在感受到了通过创造模型对数据表操作带来便利,譬如:批量赋值,跨表查询,删除模型和软删除,模型关联,当然这些在TP框架也可以利用模型实现。...10.2、LaravelSession常用方法: $request->session()->get(‘key');//获取session里某个键名 $request->session()->set

5.5K20

Laravel和Thinkphp有什么区别,哪个框架好用

3、Laravel框架提供了大量闭包 作为菜鸟我目前只使用了use方法,即如何在函数内部使用外层变量。...摘自5.1手册:(Laravel Eloquent ORM 提供了漂亮、简洁 ActiveRecord 实现来和数据库进行交互。每个数据库表都有一对应模型」可用来跟数据表进行交互。...你可以通过模型查找数据表内数据,以及将记录添加到数据表。)...本人在实际使用也实实在在感受到了通过创造模型对数据表操作带来便利,譬如:批量赋值,跨表查询,删除模型和软删除,模型关联,当然这些在TP框架也可以利用模型实现。...10.2、LaravelSession常用方法: $request->session()->get(‘key’);//获取session里某个键名 $request->session()->set

5.9K20

laravel-s 在 Docker 中使用(包含队列使用)

环境 FROM phpswoole/swoole:php7.4-alpine # 一安装 PHP 扩展脚本 COPY --from=mlocati/php-extension-installer...-it laravel-worker-service /bin/sh 重启队列: php /var/www/artisan queue:restart 重启队列逻辑 队列开始执行时, 队列获取当前缓存时间戳...t1 执行好上面的重启任务之后laravel会把时间戳t2写入缓存 每一队列任务执行完成之后,从缓存拿出时间戳,如果t2不等于t1停止当前进程 由于supervisord设置了autostart,...又会重启队列进程, 这样子就不会中断任务 更新代码方法1 每次更新代码, 写一脚本docker cp代码到容器里面 容器再按照上面的命令重启队列, 即可加载最新代码 更新代码方法2 容器运行时候增加参数...-v映射本地目录 更新代码时候是更新宿主机代码, 然后映射到容器, 容器再按照上面的命令重启队列, 即可加载最新代码 更新代码方法3 构建好新容器镜像进行 停止旧容器队列进程 ## 执行此命令后后查看队列进程无任务输出

21410

通过 Tinker 实现 Laravel 命令行交互式 Shell

REPL 与 PsySH Laravel 自带了一功能强大 REPL —— Tinker,所谓 REPL,是 Read–Eval–Print-Loop 缩写,这是一种交互式 Shell:获取用户输入并执行它们...在命令行通过 php artisan tinker 即可进入 Laravel Tinker 交互式 Shell。...比如模型和服务,你可以使用控制台来创建一模型,将其保存到数据库,然后查询这条记录(如果之前没有运行过 php artisan migrate 命令创建 users 表,先运行 migrate 命令创建...): 当然,我们还可以通过工厂方法 factory() 批量创建用户,这在测试时候很方便,比如说我们随机创建三用户: 此外,Tinker 还是手动触发队列任务、体验服务和事件好地方,例如,下面我们从容器获取日志服务并新增一条日志...本系列教程首发在学院君网站(xueyuanjun.com),你可以点击页面左下角阅读原文链接查看最新更新教程。

1.8K30

Laravel Eloquent 模型关联关系(下)

在前面两篇教程,学院君陆续给大家介绍了 Eloquent 模型类支持七种关联关系,通过底层提供关联方法,我们可以快速实现模型关联,并且进行关联查询。...,需要遍历获取作者信息,假设要循环 N 次的话,加上文章模型本身获取,总共需要进行 N + 1 次查询,而 PHP 对数据库连接是短连接,每次都要重新连接数据库,所以从性能角度考虑不建议使用这种方式...注:实际开发为了提高查询性能,我们往往是在 posts 表冗余提供一 comments_count 字段,每新增一条评论,该字段值加 1,查询时候直接取该字段即可,从而提高查询性能。...,通过 IN 查询获取关联结果,并将其附着到对应模型实例上,在后面访问时候不会再对数据库进行查询。...(1); 这样就可以嵌套获取到 profile 表记录信息: 这里会涉及到三 SQL 查询: select * from `posts` where `posts`.

19.5K30

Laravel5.2之Model Observer模型观察者

说明:本文主要学习下LaravelModel Observer模型观察者,把一点点经验分享出来希望对别人能有帮助。同时,会将开发过程一些截图和代码黏上去,提高阅读效率。...view_count了, //该篇post在100秒内就达到了30访问量,就在3分钟时更新下MySQL,并把缓存抹掉,下一次请求就从MySQL请求到最新view_count...会自动在每一key前加上laravel前缀,可以看cache.php这个字段:'prefix' => 'laravel' //使用Model...这证明了view_count被save()进MySQL时,模型观察类逻辑起作用了。当然第四IP访问后页面就会显示最新浏览量了。...模型观察者这个功能能做很多事情,比如Model Update模型更新时发个通知。或者就像一篇文章内容重新编辑保存后,把原来缓存内该篇文章内容刷新下,这样下一请求来时候读就是最新文章内容了。

1.7K21

【PHP】Largon 快速部署 Laravel 项目

引言#phpLargon部署Laravel非常简单,只要对于PHP一些组件进行相关了解即可:[compose]Largonbin组件介绍Apache:老牌Web服务器Cmder:命令行工具(Windows...开放源代码、跨平台JavaScript 运行环境Notepad++:支持各种编程语言文本编辑器PHP:包含最新稳定版本PHPPuTTY:一免费小巧SSH客户端Redis:可以持久化键值对存储系统...当然如果不喜欢Largon自己擅自动了配置,使用默认方式可以比如 http://localhost/laravel/public/ 访问可以直接看到相关资源链接。...();}"内核“类干了四事情:引导、处理请求、生命周期活动、获取实例这几个关键行为。...bindings instances aliases完成属性和初始化工作,框架初始化代码会继续调用 kernel 类 handle 方法,传入一 request 请求,request 请求继承了

3.1K20
领券