Laravel 可邮寄 | ->from($this->input->mail)
Laravel Mailable | ->from($this->input->mail)
我创建了一个
php artisan make:mail ContactFormFilledOut
效果很好。但我唯一的问题是我无法访问用户邮件以将其插入
->from('users-mail')
我试图通过这样做来获取用户邮件
$this->input->mail
但我得到了错误
Trying to get property 'mail' of non-object
所以我也试着做
$this->input['mail']
。
这也没有帮助。
public function build()
{
return $this->view('mail.kontaktform')
->from($this->input->mail) // HERE IS THE ISSUE
->subject('Test subject');
}
这里有所有代码
class ContactFormFilledOut extends Mailable
{
use Queueable, SerializesModels;
public $input;
/**
* Create a new message instance.
*
* @return void
*/
public function __construct($input)
{
$this->input = $input;
}
/**
* Build the message.
*
* @return $this
*/
public function build()
{
return $this->view('mail.kontaktform')
->from($this->input->mail) // HERE IS THE ISSUE
->subject('Test subject');
}
}
您可以指定要 Laravel 在构造函数中注入的数据,在这种情况下,您希望能够访问假定为该电子邮件发件人的用户的电子邮件地址。你可以这样做
use App\User;
class ContactFormFilledOut extends Mailable
{
public $user;
public function __construct(User $user)
{
$this->user = $user;
}
/* ... */
}
Laravel 将自动注入通过身份验证的用户并将其保存在可邮寄的 属性 user
中。
您遇到这个问题是因为当您将 $input
作为参数添加到可邮寄对象的 constructor
中时,Laravel 不知道要注入哪个对象。
但是你可以克服这个问题,你可以手动实例化可邮寄对象并传入 $input
,它可以是你想要的任何东西
$mailable = new ContactFromFilledOut($some_data);
$user = User::find(1);
Mail::to($user)
->send($mailable);
我创建了一个
php artisan make:mail ContactFormFilledOut
效果很好。但我唯一的问题是我无法访问用户邮件以将其插入
->from('users-mail')
我试图通过这样做来获取用户邮件
$this->input->mail
但我得到了错误
Trying to get property 'mail' of non-object
所以我也试着做
$this->input['mail']
。
这也没有帮助。
public function build()
{
return $this->view('mail.kontaktform')
->from($this->input->mail) // HERE IS THE ISSUE
->subject('Test subject');
}
这里有所有代码
class ContactFormFilledOut extends Mailable
{
use Queueable, SerializesModels;
public $input;
/**
* Create a new message instance.
*
* @return void
*/
public function __construct($input)
{
$this->input = $input;
}
/**
* Build the message.
*
* @return $this
*/
public function build()
{
return $this->view('mail.kontaktform')
->from($this->input->mail) // HERE IS THE ISSUE
->subject('Test subject');
}
}
您可以指定要 Laravel 在构造函数中注入的数据,在这种情况下,您希望能够访问假定为该电子邮件发件人的用户的电子邮件地址。你可以这样做
use App\User;
class ContactFormFilledOut extends Mailable
{
public $user;
public function __construct(User $user)
{
$this->user = $user;
}
/* ... */
}
Laravel 将自动注入通过身份验证的用户并将其保存在可邮寄的 属性 user
中。
您遇到这个问题是因为当您将 $input
作为参数添加到可邮寄对象的 constructor
中时,Laravel 不知道要注入哪个对象。
但是你可以克服这个问题,你可以手动实例化可邮寄对象并传入 $input
,它可以是你想要的任何东西
$mailable = new ContactFromFilledOut($some_data);
$user = User::find(1);
Mail::to($user)
->send($mailable);