Laravel邮件:如果不为空,请附加

Laravel邮件:如果不为空,请附加,laravel,laravel-5,laravel-mail,Laravel,Laravel 5,Laravel Mail,我正在使用Laravel的mailable类发送电子邮件。如果文件存在,我想附加文件。因此,如果文件存在,我只想添加attach参数。我可以使用if/else子句,但我有不同的文件,这不干净。在这种情况下,attachIfNotNull函数(不存在)会有所帮助,但可能还有其他干净的解决方案 public function build() { return $this->view('emails.orders.shipped')

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

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

您可以使用
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',
     ]);