我有个小问题。当用户在平台上创建自己的公司时,他们会收到电子邮件通知。通知正在进行,我想将用户名放在消息的正文中,我该怎么做?
控制器公司
public function store(CompanyRequest $request)
{
$dataForm = $request->all();
$dataForm['user_id'] = auth()->user()->id;
// Upload de imagem do S3
if ($request->hasFile('photo_url')) {
$file = $request->file('photo_url');
$name = $file->getClientOriginalName();
$filepath = 'company/photo_url/' . $name;
Storage::disk('s3')->put($filepath, file_get_contents($file), 'public');
$url = Storage::disk('s3')->url($filepath);
$dataForm['photo_url'] = $url;
}
$company = $this->company->create($dataForm);
// Conveniando o empresa criada para o usuário que está logado
$user = User::with('company')->find(auth()->user()->id);
$user->update(['company_id' => $company->id,]);
// Notifica o usuário quando ele cria a Empresa
try{
$user->notify(new CreateNewCompany());
}
catch (\Error $error) {
$company->delete();
return response()->json(['message' => 'Não foi possivel notificar o Usuário']);
}
// Testa a empresa foi criada ou não.
if (!$company) {
return response()->json(['message' => 'Não foi possível cadastrar a Empresa']);
}
return response()->json(['user' => $user], 201);
}
通知-> CreateNewCompany
public function toMail($notifiable)
{
return (new MailMessage)
->subject('Sua empresa foi criada!')
->greeting('Olá, { $user }')
->line('Obrigado por se cadastrar. Sua conta já está ativa!')
->line('Obrigado por usar nossa plataforma!');
}
Olá,{ $user } Obrigado por se cadastrar.Sua conta jáestáAtiva!
这是我们的平台!你好,Laravel
发布于 2018-10-25 03:16:28
在本例中,您的用户是传递给toMail
方法的$notifiable
对象,因此您可以像这样访问该用户:
public function toMail($notifiable)
{
return (new MailMessage)
->subject('Sua empresa foi criada!')
->greeting('Olá, '.$notifiable->name )
->line('Obrigado por se cadastrar. Sua conta já está ativa!')
->line('Obrigado por usar nossa plataforma!');
}
->name
是users表中包含用户名的字段。
发布于 2018-10-25 03:31:11
我就是这么做的,而且成功了。
// Class Notify
private $user;
/**
* Create a new notification instance.
*
* @return void
*/
public function __construct($user)
{
$this->user = $user;
}
//metho mail() Notify
->greeting('Olá, ' . $this->user->name)
//Controller
$user->notify(new CreateNewCompany($user));
https://stackoverflow.com/questions/52976012
复制相似问题