我正在尝试为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类?
答案 0 :(得分:2)
您的代码中有拼写错误。
更改:强>
$this->$review = $review;
要强>
$this->review = $review;