问题标签 [laravel-events]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
224 浏览

php - Laravel each() 闭包未执行

我正在关注 Laracast。(https://laracasts.com/series/lets-build-a-forum-with-laravel/episodes/28)我正试图让我的一项测试通过。我做了一些调试。在 RecordActivity.php 我目前有以下内容:

但是,当我运行在课程中创建的测试时,在我看来,闭包each()永远不会触发,因为测试返回错误而不是吐出回复。我重看了几次视频,并将我的代码与 github repo 中的 Jeffery 代码进行了比较。

我究竟做错了什么?

记录活动.php

线程.php

CreateThreadsT​​est.php

线程控制器.php

PHPUnit 错误:

为什么我的测试没有抛弃$reply模型

0 投票
2 回答
101 浏览

php - Laravel 创建的事件返回错误的记录

我目前正在使用 Laravel 观察者在我的项目中实现事件,但是,我遇到了一些创建的事件返回错误记录的问题,例如,我创建了一个名为 Like 的记录,其中 post_id 设置为 2,user_id 设置为 1 ,所以 laravel created 事件应该返回这个记录对吗?除了它返回 post_id 设置为 0 和 user_id 设置为 1 的记录。我的 LikeObserver 类:

正如您所看到的,每当我转储新创建的记录时,它都会返回: laravel 返回什么

我的 LikeController 类:

我将 post_id 设置为 2,但是,Laravel 返回新创建的记录,并将 post_id 设置为 0。

0 投票
1 回答
38 浏览

laravel - 事件和监听器不起作用?

我想创建第一次用户登录以填写一些详细信息,用户在第二次登录后填写一些详细信息后不会返回填写详细信息页面,。

所以我创建了一个事件来更新 Last_Login_at 值 Null 变为 1 以便用户将逃避这部分。

我在这里做错了吗?

活动

听众

事件服务

控制器

0 投票
1 回答
1801 浏览

php - Laravel 事件调度断言失败

我正在编写一些单元测试来测试数据库事务中间件,在异常情况下,事务中的所有内容都应该回滚。这段代码工作得很好,并通过了单元测试:

成功的单元测试方法

然而,每当我测试一个TransactionBeginning事件时,它都无法断言该事件已被调度。

失败的单元测试方法

实际的中间件

所有事务事件都会触发事件,DB::beginTransaction, DB::rollBack, DB::commit所有触发事件也应该如此。然而,当我测试时,我什至只看到事务回滚事件触发。

在这种情况下其他事件没有触发并且我的 assertDispatched 失败是否有原因?

0 投票
1 回答
613 浏览

laravel - 不遵循如何在 laravel 中测试广播事件

所以考虑以下事件:

这里没有什么复杂的。

所以根据文档,这就是我想测试这个事件的方式:

但我得到:

Tests\Unit\Health\Datasets\Builders\UpdateApprovedClinicianCountBroadcastEventTest x 广播应该发出 [0.360s]

时间:503 毫秒,内存:30.00 MB

有 1 次失败:

1) Tests\Unit\Health\Datasets\Builders\UpdateApprovedClinicianCountBroadcastEventTest::testBroadCastShouldEmit 未调度预期的 [App\Modules\Clinics\Events\UpdateApprovedClinicianCountBroadcastEvent] 事件。断言 false 为 true 失败。

/Users/xxx/Documents/health/vendor/laravel/framework/src/Illuminate/Support/Testing/Fakes/EventFake.php:62 /Users/xxx/Documents/health/vendor/laravel/framework/src/Illuminate/Support /Facades/Facade.php:261 /Users/xxx/Documents/health/tests/Unit/Modules/Clinics/Events/UpdateApprovedClinicianCountBroadcastEventTest.php:31

那么,如何测试广播事件呢?我应该打电话给这个活动吗?这个调度方法会为我调用它吗?就像我很困惑

0 投票
1 回答
269 浏览

php - laravel 用户戳而不干扰数据库播种

有没有办法在created_by不使用观察者的情况下自动填充列,但保持我的控制器清洁?我不想使用观察者,因为当我尝试为我的数据库播种时,会发生错误。

我现在的做法:

当我注册到服务提供商的启动时,它适用于通过应用程序创建客户端,但是当我使用 artisan 为该工厂的数据库播种时:

我收到此错误:

因为“创建”事件被触发并且观察者行动。是否至少有某种方法可以阻止观察者采取行动?

欢迎任何帮助。谢谢 :)

0 投票
1 回答
3616 浏览

php - 如何手动触发 Laravel 模型事件

当没有数据更改时,laravel 检查 isDirty 并且从不执​​行更新查询,因此不会触发模型更新事件。我们如何手动触发事件?

0 投票
10 回答
46547 浏览

laravel - LogicException:请确保已安装并启用 PHP Redis 扩展

Laravel 版本:7.5.0 PHP 版本:7.2 数据库驱动和版本:Redis

一切正常,但突然出现此错误,我将 phpredis 更改为 predis,但错误相同。

重现步骤:我正在调用事件函数event(new ChatsEvent($data));

0 投票
1 回答
2076 浏览

laravel - lararvel uuid 作为主键

我正在尝试将 uuid 设置为 Laravel 模型中的主键。我已经在我的模型中设置了一个启动方法,因此我不必在每次想要创建和保存模型时手动创建它。我有一个控制器,它只是创建模型并将其保存在数据库中。

它已正确保存在数据库中,但是当控制器返回时,id 的值总是以0. 我怎样才能让它真正返回它在数据库中创建的值?

模型

控制器

0 投票
0 回答
1479 浏览

php - Laravel Eloquent 删除事件未触发

我的 EventServiceProvider.php:

但它不起作用。

当我在我的模型文件上这样做时它仍然无法正常工作:

我的 laravel 版本是:7.15

问题是什么?你有什么主意吗?