У меня есть очень странная проблема: когда я отправляю представление электронной почты в методе построения почтового сообщения, оно отправляет нормально, но выдает ошибку «Попытка получить свойство« представление »не-объекта», и поэтому я могуt перенаправить на страницу после отправки почты.
Почтовое сообщение:
public function __construct($data)
{
$this->email = $data;
}
/**
* Build the message.
*
* @return $this
*/
public function build()
{
$url = URL::temporarySignedRoute(
'verifyCustomer', now()->addMinutes(100),['email'=>$this->email]
);
return $this->from('support@xxxx.com')
->view('validate_email')->with([
'url' => $url,
'email' => $this->email
]);
dd('doesent work here');
}
Зарегистрировать контроллер:
protected function createCustomer(Request $request)
{
// dd($request->all());
// $this->validator($request->all())->validate();
$validator = Validator::make($request->all(), [
'name' => ['required', 'alpha_dash', 'string', 'max:25', 'unique:customers'],
'email' => ['required', 'string', 'email', 'max:255', 'unique:customers'],
'password' => ['required', 'string', 'min:6', 'confirmed'],
]);
if ($validator->fails())
{
$messages = $validator->messages();
return Redirect::back()->withErrors($validator)->withInput();
foreach($errors->all() as $error) {
echo $error;
}
}
elseif ($validator->passes())
{
$customer = customer::create([
'name' => $request['name'],
'email' => $request['email'],
'password' => Hash::make($request['password']),
'VerifyToken' => Str::random(40),
]);
$customer->SendEmailVerificationNotification();
return redirect()->intended('auth/login');
}
}
SendEmailVerificationNotification:
class SendEmailVerificationNotification
{
/**
* Handle the event.
*
* @param \Illuminate\Auth\Events\Registered $event
* @return void
*/
public function handle(Registered $event)
{
if ($event->user instanceof MustVerifyEmail && ! $event->user->hasVerifiedEmail()) {
$event->user->sendEmailVerificationNotification();
}
}
}
sendEmailVerification function:
public function sendEmailVerificationNotification()
{
$this->notify(new \App\Notifications\account_verification_notification);
}
account_verification_notification:
public function via($notifiable)
{
return ['mail'];
}
/**
* Get the mail representation of the notification.
*
* @param mixed $notifiable
* @return \Illuminate\Notifications\Messages\MailMessage
*/
public function toMail($notifiable)
{
Mail::to($notifiable['email'])->send(new validate_email($notifiable['email']));
// return (new MailMessage)
// ->line('The introduction to the notification.')
// ->action('Notification Action', url('/'))
// ->line('Thank you for using our application!');
}
Любая помощь будет абсолютно фантастической! Поскольку это третий день борьбы с этой ошибкой :( Спасибо:)