2

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

public $transaction;
public $added_type;

public function __construct($transaction, $added_type)
{
    $this->transaction = $transaction;
    $this->added_type = $added_type;
}

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

event(new UserWalletNewTransaction($newTransaction, $value_added_type));

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

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

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

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

那么如何解决这个问题呢?如何正确地将两个参数传递给 Event & Listener?我真的很感激你们的任何想法或建议......

这是错误截图:

在此处输入图像描述


更新#1

的结果:

dump($event->added_type);
dd($event->transaction );

在此处输入图像描述

4

1 回答 1

1

在侦听器中从方法UserWalltetNotification中删除第二个参数handle

所以

public function handle(UserWalletNewTransaction $event)
{
  
   dump($event->added_type); 
   dd($event->transaction ); 

 
}

如果您dd($event);将获得所有属性UserWalletNewTransaction

于 2021-07-19T08:06:39.383 回答