如何将对象加载到Laravel 5.5 Mailable中?

时间:2018-02-13 17:23:04

标签: laravel laravel-5.5

我正在尝试为Laravel 5.5应用程序测试mailable类,并且似乎遵循了所有方向here

我一直在尝试preview my mailable in the browser,但由于某种原因,我传递给我的mailable类的对象没有正确传递,并且在mailable类中显示为null,即使我可以看到它存在于它之外。

以下是我在web.php文件中使用的功能,用于测试浏览器中的mailable:

Route::get('/testingMailable', function () {
    $review = App\EvaluationReview::find(6);
    return new App\Mail\StartReview($review);
});

对象正在上面填充,但是当我尝试在mailable类中查看它时,它为null:

<?php

namespace App\Mail;

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

class StartReview extends Mailable
{
    use Queueable, SerializesModels;

    public $review;

    public function __construct(EvaluationReview $review)
    {
        $this->$review = $review;
        dd($this->review);//is null
    }

    public function build()
    {
        return $this->from('test@test.com')->view('startReview');
    }
} 

有谁知道为什么对象没有传递到mailable类?

1 个答案:

答案 0 :(得分:2)

您的代码中有拼写错误。

更改:

    $this->$review = $review;

    $this->review = $review;