问题标签 [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 投票
0 回答
69 浏览

laravel - 在特定日期时间发送 webhook laravel 8

在我的应用程序(laravel 8)中,我创建了一些消息,将它们存储在 postgrey 数据库中,然后通过 webhook 将它们发送到 discord ans slack。我可以选择立即发送它们或使用数据库中的日期时间延迟它们。

这是我的问题。我不知道如何在截止日期到来时触发事件以通过 webhook 发送它们。

目前我唯一的解决方案是每分钟从数据库中获取所有未发送的消息,检查每条消息的到期日期时间,如果它们与当前日期时间匹配,则发送它们。

当我在我的数据库中存储延迟消息时,我想用现在的时间间隔和截止日期创建一个延迟事件/作业。

我在 2021 年 9 月 4 日 16 点创建了一条消息,发送日期为 2021 年 10 月 4 日 16 点

创建一个延迟 24 小时的事件,以便稍后通过我的 webhook 发送消息。当然,延迟会随着我创建的每条消息而变化,可能从几分钟到几天不等。

我在 laravel 8 中查看队列作业和事件,但我找不到有用的东西

这是我对消息模型的迁移

date_message 是我希望发送消息的日期

对不起我的英语不好,希望你能帮我找到解决办法

0 投票
0 回答
112 浏览

laravel - 自动登录上的 Laravel 事件监听器(记得我)?

在我的 Laravel 7.3 项目中,我想在用户登录后触发一个事件。当用户激活自动登录(“记住我”/Cookie 令牌)时,也应该触发此事件。

通过表单登录是:(EventServiceProvider.php)

在论坛帖子中,我读到此事件不会在自动登录时触发(记住我),但由于线程被放弃,因此没有解决方案。有没有人解决了这个问题,可以给我一个关于如何实现的提示?

0 投票
2 回答
372 浏览

php - 未定义的属性:App\Events\UserWalletNewTransaction::$user_id

我创建了一个名为的事件UserWalletNewTransaction.php并将其添加到其中:

并在以下位置注册EventServiceProivder.php

现在为了在控制器上触发这个事件,我编写了这个代码:

然后在听众处UserWalletNotification.php,我尝试了:

但我收到Undefined property: App\Events\UserWalletNewTransaction::$user_id错误消息。

但是,如果我尝试dd($event),这个结果会成功出现:

在此处输入图像描述

那么这里出了什么问题?我怎样才能得到user_id已经存在的那个$event

我真的很感激你们的任何想法或建议......

0 投票
2 回答
196 浏览

php - Laravel 5.8:传递给事件侦听器的参数为空

我创建了一个名为的事件UserWalletNewTransaction.php并将其添加到其中:

并在以下位置注册EventServiceProivder.php

现在为了在控制器上触发这个事件,我编写了这个代码:

然后在 Listener 中UserWalletNotification.php,我尝试了:

但它null以某种方式返回。

但是,如果我dd($event)改为,我会得到:

在此处输入图像描述

那么这里出了什么问题呢?我可以正确插入新记录,user_wallet_transactions并且变量$newTransaction应该包含transaction信息,但事实并非如此。

这也是模型UserWalletTransaction.php

我真的很感激你们关于这个的任何想法或建议......

提前致谢。


更新#1

如果我dd($newTransaction)之前在控制器上做event(),我会得到这个:

在此处输入图像描述


更新#2

这是事件的完整代码,UserWalletNewTransaction.php


更新#3:

以下是dd($event)监听器的完整结果:

0 投票
2 回答
304 浏览

php - Laravel 5.8:如何将两个争论传递给 Event & Listener

我正在使用 Laravel 5.8,并且我创建了一个名为的事件UserWalletNewTransaction,如下所示:

如您所见,我在这里指定了两个参数,这些参数从控制器获取它们的值:

然后被命名的监听器是UserWalletNotification这样的:

public function handle(UserWalletNewTransaction $event, $added_type) {

但是这里有问题,因为我收到了这个错误:

函数 App\Listeners\UserWalletNotification::handle() 的参数太少,通过了 1 个,预期正好有 2 个

那么如何解决这个问题呢?如何正确地将两个参数传递给 Event & Listener?


更新 1

错误截图:

在此处输入图像描述

0 投票
1 回答
75 浏览

php - 如何在事件侦听器中显示警报消息

我想在我的监听器上放一条警报消息:

但这flash()似乎不起作用。我的意思是,它没有显示消息Amount is higher than Balance.

那么如何通过 Listener 正确打印此消息?

0 投票
0 回答
196 浏览

laravel-8 - 如何在laravel中建立事件和工作之间的联系?

我正在开发一个存储用户详细信息的 api,为此我创建了一个事件和作业。在我构建用户模型的事件中,在作业中我使用事件编写发送邮件功能(用于从用户详细信息中获取用户电子邮件) ,当我在邮递员中点击 API 时,用户详细信息已成功存储在我的数据库中,但邮件未发送(队列工作失败),如何在事件和工作之间建立连接或链接,请帮助我解决此问题。 ..

ProcessPodCast.php[job]

UserRegistered.php[event]

UserController.php

0 投票
3 回答
137 浏览

javascript - Laravel 推送事件未触发

这是我的 .env 代码->

这是我的配置代码->

这是我的事件代码->

最后,这是我触发事件的测试路线,但实际上没有发生任何事情:(。->

我看不到在我的推送器通道的调试控制台上触发的任何事件。

0 投票
1 回答
134 浏览

laravel - 如何在 laravel 模型中使用 boot()?

我有两个名为usersand的模型和迁移表roles(对于迁移和模型名称)。

这是我第一次使用boot(). 我有一个疑问:如果用户注册成功,那么他的角色应该roles作为管理员自动存储在表中,为此请帮助我,我正在尝试一些它不起作用的方法。

User.php

create_roles_table.php

0 投票
1 回答
64 浏览

php - 如何减少 laravel 中策略文件中的代码?

我有两个文件userPolicy.phpuserObserver.php我在两个文件中都写了一些逻辑,如果用户有任何活动订阅,用户不会被删除,这意味着它工作正常。

userPolicy.php

userObserver.php

现在我想要的是我想重构来自 userPolicy.php 的代码,这意味着有没有办法减少来自 userPolicy.php 文件的代码(主要是 $canceled_subscriptions),有没有机会减少来自 userPolicy 的代码。 php请帮我重构代码