user = $user; $this->packingList = $packingList; } public function toMail() { $invoice = $this->packingList->transactions()->where('type', TransactionType::SHIPPING_INVOICE)->where('status', ApprovalStatus::APPROVED)->first(); if(!$invoice) return false; $invoiceDocument = $invoice->documents()->first()->files; return (new MailMessage) ->subject('Your packages are on the way to malaysia - Invoice pending payment for order no.'. $this->packingList->owner->reference) ->attach(Storage::disk('documents')->get($invoiceDocument->file->file_info->original->file), [ 'as' => 'name.pdf', 'mime' => 'application/pdf', ])->view('emails.shipment.ETD', ['user' => $this->user, 'packingList' => $this->packingList]); } }