为了账号安全,请及时绑定邮箱和手机立即绑定

Laravel 将对象传递给模型中的方法

Laravel 将对象传递给模型中的方法

PHP
心有法竹 2023-09-22 15:27:38
在我的用户模型中我可以这样做:public function sendPasswordResetNotification($token){  $message = (new UserForgotPassword($this->email, $this->name, $token));}但我怎样才能传递完整的User对象呢?public function sendPasswordResetNotification($token){  $message = (new UserForgotPassword($user, $token));}使用$user不起作用,但它确实适用于:protected static function booted(){  static::creating(function ($user) {    $user->uuid = Str::uuid();  });}
查看完整描述

2 回答

?
30秒到达战场

TA贡献1828条经验 获得超6个赞

只需使用这个即可,

$message = (new UserForgotPassword($this, $token));


查看完整回答
反对 回复 2023-09-22
?
慕姐4208626

TA贡献1852条经验 获得超7个赞

用于$this访问 User 模型内的 User 实例(以非静态方法)。

public function sendPasswordResetNotification($token){
  $message = (new UserForgotPassword($this, $token));
}

注意:如果您的方法是静态方法,您将使用static(或self) 而不是$this

另外,在您给出的示例中,$user实际上并不是booted方法中的变量。它是传递给方法的闭包(匿名函数)的参数created


查看完整回答
反对 回复 2023-09-22
  • 2 回答
  • 0 关注
  • 89 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信