Php Laravel:将联系人表单数据提取到通知邮件中
刚刚在我的网站上做了一个联系我的表单,我想在有人发送消息时向网站管理员发送一封电子邮件。我正在使用Laravel的通知界面来实现这一点,我成功地发送了电子邮件,但无法从邮件中获取联系人表单的数据。我怎样才能做到这一点 ContactController.phpPhp Laravel:将联系人表单数据提取到通知邮件中,php,laravel,laravel-8,Php,Laravel,Laravel 8,刚刚在我的网站上做了一个联系我的表单,我想在有人发送消息时向网站管理员发送一封电子邮件。我正在使用Laravel的通知界面来实现这一点,我成功地发送了电子邮件,但无法从邮件中获取联系人表单的数据。我怎样才能做到这一点 ContactController.php class ContactController extends Controller { public function index() { return view('contact.index'); }
class ContactController extends Controller
{
public function index() {
return view('contact.index');
}
public function store(Request $request, Contact $contact) {
$validatedAttributes = request()->validate([
'email' => ['required', 'email:rfc,dns'],
'subject' => 'required',
'content' => 'required'
]);
$contact->create($validatedAttributes);
$user = User::role('super-admin')->select('email')->first();
$user->notify(new ContactReceived(), $contact);
return response()->json('Message sent.');
}
}
class ContactReceived extends Notification
{
use Queueable;
public function __construct()
{
}
public function via($notifiable)
{
return ['mail'];
}
public function toMail($notifiable)
{
return (new MailMessage)
->subject('subject')
->greeting('Hello,')
->line('some line');
}
public function toArray($notifiable)
{
return [
//
];
}
}
只需将您的
联系人
传递给构造函数:
公共函数存储(请求$Request){
$validatedAttributes=request()->validate([
'email'=>['required','email:rfc,dns'],
“主题”=>“必需”,
“内容”=>“必需”
]);
$contact=contact::create($validatedAttributes);//创建联系人
$user=user::role('super-admin')->select('email')->first();
$user->notify(收到新联系人($contact));//将联系人传递到notify
return response()->json('Message sent');
}
在通知中,您还必须添加属性并在构造函数中处理它
class ContactReceived extends通知
{
私人联络;
公共功能构造(联系人$Contact)
{
$this->contact=$contact;
}
托梅尔的公共职能(应呈报)
{
//$this->contact可在通知中的任何位置访问
}
}
然后您可以在通知中使用$this->contact
您可以找到更多信息。只需将您的
联系人
传递给构造函数:
公共函数存储(请求$Request){
$validatedAttributes=request()->validate([
'email'=>['required','email:rfc,dns'],
“主题”=>“必需”,
“内容”=>“必需”
]);
$contact=contact::create($validatedAttributes);//创建联系人
$user=user::role('super-admin')->select('email')->first();
$user->notify(收到新联系人($contact));//将联系人传递到notify
return response()->json('Message sent');
}
在通知中,您还必须添加属性并在构造函数中处理它
class ContactReceived extends通知
{
私人联络;
公共功能构造(联系人$Contact)
{
$this->contact=$contact;
}
托梅尔的公共职能(应呈报)
{
//$this->contact可在通知中的任何位置访问
}
}
然后您可以在通知中使用$this->contact
您可以找到更多信息。似乎对我不起作用,$this->contact在我的邮件中返回一个空数组,如果通知中的数据无效,我将无法访问任何数组。通知如何在发送的消息和contructor中的$this->联系人之间建立链接?对不起,如果我的问题看起来很愚蠢,我对这个问题有点陌生,我正在努力理解它。我已经更新了我的答案。也许,您必须重写控制器方法并创建新联系人,而不是注入它并尝试在对象上创建。这一次,它像一个符咒一样工作,谢谢!似乎对我不起作用,$this->contact在我的邮件中返回一个空数组,如果通知中有数据,我将无法访问任何数组。通知如何在发送的消息和contructor中的$this->联系人之间建立链接?对不起,如果我的问题看起来很愚蠢,我对这个问题有点陌生,我正在努力理解它。我已经更新了我的答案。也许,您必须重写控制器方法并创建新联系人,而不是注入它并尝试在对象上创建。这一次,它像一个符咒一样工作,谢谢!