Laravel: невозможно получить доступ к пустому свойству при попытке отправить электронное письмо - PullRequest
0 голосов
/ 20 ноября 2018

Я пытаюсь отправить электронное письмо с использованием laravel, однако я получаю ошибку cannot access empty property всякий раз, когда запускаю свой код.
Я провел исследование этой ошибки, и оно, как правило, вызывается использованием$ перед именем свойства, например $this->$username вместо $this->username.Тем не менее, это не так в моем коде.

Я не могу точно сказать, что вызывает это, и при этом у меня нет большого опыта в Laravel. Вот мой класс для отправки по почте:

<?php

namespace App\Mail;

use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Queue\ShouldQueue;

class VerificationMail extends Mailable
{
    use Queueable, SerializesModels;
    public $data;
    /**
     * Create a new message instance.
     *
     * @return void
     */
    public function __construct($data)
    {
        $this->data = $data;
    }

    /**
     * Build the message.
     *
     * @return $this
     */
    public function build()
    {
        $data2 = ['companyName' => $this->data['name'], 'verificationCode' => $this->data['verificationCode']];
        return $this->from('noreply@REMOVED.com')
               ->$this->view('emails.verification', $data2);
    }
}

Мое представление сохранено в ресурсах / представлениях / электронных письмах / проверке.blade.php
Я также видел, что эта ошибка иногда может быть вызвана использованием $message в качестве имени переменной внутри представлений, однако это не так для меня.Я попытался загрузить представление с обычным маршрутом без какой-либо отправки почты, и оно загрузилось нормально.
Может кто-нибудь определить это?Спасибо.

1 Ответ

0 голосов
/ 20 ноября 2018

У вас есть ошибка здесь:

return $this->from('noreply@REMOVED.com')
    ->$this->view('emails.verification', $data2);

Вместо этого используйте следующее: (удалите вторую $this->)

return $this->from('noreply@REMOVED.com')
    ->view('emails.verification', $data2);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...