Laravel Mail:如果不为null则附加

时间:2018-01-28 16:51:34

标签: laravel laravel-5 laravel-mail

我正在使用Laravel的可邮寄类发送电子邮件。如果文件存在,我想附加文件。所以我只想在文件存在时添加attach参数。我可以使用if / else子句,但我有不同的文件,这不会是干净的。在这种情况下,attachIfNotNull函数(不存在)会有所帮助,但也许还有其他干净的解决方案..

    public function build()
    {
        return $this->view('emails.orders.shipped')
                    ->attach('/path/to/file1', [
                        'as' => 'name.pdf',
                        'mime' => 'application/pdf',
                    ]);
    }

1 个答案:

答案 0 :(得分:3)

您可以使用File::exists()Storage::exists()

$view = $this->view('emails.orders.shipped');
return \File::exists('/path/to/file1') ? $view
     : $view->attach('/path/to/file1', [
         'as' => 'name.pdf',
         'mime' => 'application/pdf',
     ]);