我正在使用Laravel的可邮寄类发送电子邮件。如果文件存在,我想附加文件。所以我只想在文件存在时添加attach参数。我可以使用if / else子句,但我有不同的文件,这不会是干净的。在这种情况下,attachIfNotNull
函数(不存在)会有所帮助,但也许还有其他干净的解决方案..
public function build()
{
return $this->view('emails.orders.shipped')
->attach('/path/to/file1', [
'as' => 'name.pdf',
'mime' => 'application/pdf',
]);
}
答案 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',
]);