Laravel 5.8: 如何将两个参数传递给 Event 和 Listener
Laravel 5.8: How to pass two arguements to Event & Listener
我正在使用 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) {
但是这里有问题,因为我收到了这个错误。
Too few arguments to function
App\Listeners\UserWalletNotification::handle(), 1 passed and exactly 2
expected
那么如何解决这个问题呢?如何正确地将两个参数传递给 Event & Listener?我真的很感激你们的任何想法或建议...
错误截图如下:
更新 #1:
结果:
dump($event->added_type);
dd($event->transaction );
在 UserWalltetNotification
侦听器中从 handle
方法中删除第二个参数
所以
public function handle(UserWalletNewTransaction $event)
{
dump($event->added_type);
dd($event->transaction );
}
如果您 dd($event);
您将获得 UserWalletNewTransaction
的所有属性
我正在使用 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) {
但是这里有问题,因为我收到了这个错误。
Too few arguments to function App\Listeners\UserWalletNotification::handle(), 1 passed and exactly 2 expected
那么如何解决这个问题呢?如何正确地将两个参数传递给 Event & Listener?我真的很感激你们的任何想法或建议...
错误截图如下:
更新 #1:
结果:
dump($event->added_type);
dd($event->transaction );
在 UserWalltetNotification
侦听器中从 handle
方法中删除第二个参数
所以
public function handle(UserWalletNewTransaction $event)
{
dump($event->added_type);
dd($event->transaction );
}
如果您 dd($event);
您将获得 UserWalletNewTransaction