Использование шаблонов блейдов для представлений против тех, что для отправки сообщений

Я использую Laravel 5 и создал приложение, которое имеет счета, которые содержат заказы, которые содержат элементы. У меня есть хороший вид, созданный с помощью шаблона лезвия. Теперь я хочу отправить этот счет по электронной почте — именно так, как он отображается в представлении. Из того, что я прочитал, вы не можете просто передать объект в сообщение, но должны создать массив. Это верно?

Я хотел бы передать этот же массив шаблону блейда и сообщению. Моя проблема в том, что когда я передаю массив сообщению, я вынужден обращаться к переменным следующим образом:

{{ $order_number }}

и когда я передаю массив в шаблон блейда, я должен получить к нему доступ как к массиву, например так:

{{ $invoice['invoice_number'] }}

Вот мой код для сообщения:

public function sendInvoice($invoice_id)
{
$invoice = new \App\Invoice;
$arrInvoice = $invoice->createInvoiceArray($invoice_id);
$data = $arrInvoice;
\Mail::send('messages.invoices.cls', $data, function($message) use ($data)
{
$message->from('[email protected]', 'Dylan Glockler');
$message->to('[email protected]', 'Love Laundry')->subject('CLS Tracking - Invoice');
});
}

Я, должно быть, здесь что-то делаю не так — Ларавел так заинтересован, я думаю, что я делаю что-то не так!

0

Решение

Вы хотите подключиться к Laravel’s toArray() Функция для этого.

public function sendInvoice($invoice_id)
{
$arrInvoice = \App\Invoice::find($invoice_id)->toArray();
$data['arrInvoice'] = $arrInvoice;
\Mail::send('messages.invoices.cls', $data, function($message)
{
$message->from('[email protected]', 'Dylan Glockler');
$message->to('[email protected]', 'Love Laundry')->subject('CLS Tracking - Invoice');
});
}

Тогда по вашему мнению:

{{$arrInvoice['invoice_number']}}

Причина, по которой вам нужно преобразовать ваши данные из объекта в массив, заключается в том, что Laravel может получить доступ к информации, если вы когда-либо решите использовать очереди.

Источник: http://laravel.com/docs/4.2/eloquent#converting-to-arrays-or-json

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]