拉拉维尔:无法在可邮寄中设置区域设置



我更新到Laravel 5.6,我想使用Mailable类中的新locale方法。

我创建了一个可邮寄的类

php artisan make:mail Test --markdown="emails.test"

这是我的刀片文件:

@component('mail::message')
@lang('list.test')
@endcomponent

如果我发送邮件

$test = new AppMailTest();
$test->locale('de');
Mail::to('myemail@test.com')->send($test);

然后邮件没有使用我的区域设置文件来自resources/lang/de/list.php

<?php 
return [ 'test' => 'Dies ist ein Test'];

为什么?

将区域设置与邮件外观一起使用。

$test = new AppMailTest();
Mail::to('myemail@test.com')->locale('de')->send($test);

邮件外观和可邮寄是指不同的类。 要将locale()与可邮寄一起使用,请尝试此操作。

$test = new AppMailTest();
$test->locale('de')->send();

尝试将语言环境传递给构造函数并进行设置,然后在build函数中进行设置:

public $locale;
public function __construct(string $locale = 'de')
{
$this->locale = $locale;
}
public function build()
{
return $this->locale($this->locale)
->from('example@example.com')
->view('emails.example');
}

最新更新