【发布时间】:2021-09-26 07:54:12
【问题描述】:
我创建了一个名为 UserWalletNewTransaction.php 的事件并将其添加到其中:
public $transaction;
public function __construct($transaction) {
$this->$transaction = $transaction;
}
并且还在EventServiceProivder.php注册了:
use App\Listeners\UserWalletNotification;
protected $listen = [
UserWalletNewTransaction::class => [
UserWalletNotification::class,
],
现在为了在控制器上触发这个事件,我编写了这样的代码:
$newTransaction = UserWalletTransaction::create(['user_id' => $user_id, 'wallet_id' => $wallet_id, 'creator_id' => $creator_id, 'amount' => $amount_add_value, 'description' => $trans_desc]);
event(new UserWalletNewTransaction($newTransaction));
然后在听者UserWalletNotification.php,我尝试了:
public function handle(UserWalletNewTransaction $event) {
$uid = $event->user_id;
dd($uid);
}
但我收到Undefined property: App\Events\UserWalletNewTransaction::$user_id 错误消息。
但是,如果我尝试dd($event),则成功出现此结果:
那么这里出了什么问题?如何获取$event 中已存在的user_id?
非常感谢你们的任何想法或建议......
【问题讨论】:
标签: php laravel laravel-5.8 laravel-events