Laravel Mail :: вложенный файл, только если не ноль - PullRequest
0 голосов
/ 28 октября 2018

Привет всем, у меня есть письмо, в котором поле файла может быть пустым (не обязательно), однако из-за этого, когда я пытаюсь вложить нулевой uploadFile, я получаю следующую ошибку:

"сообщение Неопределенный индекс: uploadFile"

Мой вопрос: есть ли хороший способ прикрепить файл к почте только в том случае, если он существует?

Это мой метод сборки почты:

<?php

namespace App\Mail;

use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Queue\ShouldQueue;

class ClientContactMail extends Mailable
{
    use Queueable, SerializesModels;
    
    public $mailData;

    public function __construct($mailData)
    {
        $this->mailData = $mailData;
    }

    
    
    
    public function build()

    {
        return $this->markdown('emails.client-contact')
        ->from($this->mailData['sender'], $this->mailData['appName'])
        ->subject($this->mailData['subject'])
        ->attach($this->mailData['uploadFile'], ['as' => $this->mailData['fileName'], 'mime' => $this->mailData['mimeType']]);
    }
}

1 Ответ

0 голосов
/ 28 октября 2018

Вы можете решить это с помощью простого оператора if, если файл существует, прикрепите его.

public function build()

{
    $mail = $this->markdown('emails.client-contact')
        ->from($this->mailData['sender'], $this->mailData['appName'])
        ->subject($this->mailData['subject']);

    if (isset($this->mailData['uploadFile'])) {\
        $mail = $mail->attach($this->mailData['uploadFile'], ['as' => $this->mailData['fileName'], 'mime' => $this->mailData['mimeType']])
    }

    return $mail;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...