使用 Blade 视图模板与发送消息的模板
Using Blade Templates for Views vs those to send Messages
我正在使用 Laravel 5 并创建了一个应用程序,该应用程序的发票中包含订单,订单中包含项目。我有一个使用 blade 模板创建的漂亮视图。现在我想通过电子邮件发送该发票 - 与它在视图中显示的完全一样。从我读过的内容来看,您不能只将 object 传递给消息,而必须创建一个数组。对吗?
我想将相同的数组传递给 blade 模板和消息。我的问题是,当我将数组传递给消息时,我不得不像这样访问变量:
{{ $order_number }}
当我将数组传递给 blade 模板时,我必须像这样以数组形式访问它:
{{ $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('dylan@dylanglockler.com', 'Dylan Glockler');
$message->to('dylan@dylanglockler.com', 'Love Laundry')->subject('CLS Tracking - Invoice');
});
}
我一定是哪里做错了 - Laravel 太热心了,我想我一定是做错了什么!
为此,您需要利用 laravel 的 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('dylan@dylanglockler.com', 'Dylan Glockler');
$message->to('dylan@dylanglockler.com', 'Love Laundry')->subject('CLS Tracking - Invoice');
});
}
那么在你看来:
{{$arrInvoice['invoice_number']}}
您必须将数据从对象转换为数组的原因是,如果您选择使用队列,laravel 可以访问这些信息。
来源:http://laravel.com/docs/4.2/eloquent#converting-to-arrays-or-json
我正在使用 Laravel 5 并创建了一个应用程序,该应用程序的发票中包含订单,订单中包含项目。我有一个使用 blade 模板创建的漂亮视图。现在我想通过电子邮件发送该发票 - 与它在视图中显示的完全一样。从我读过的内容来看,您不能只将 object 传递给消息,而必须创建一个数组。对吗?
我想将相同的数组传递给 blade 模板和消息。我的问题是,当我将数组传递给消息时,我不得不像这样访问变量:
{{ $order_number }}
当我将数组传递给 blade 模板时,我必须像这样以数组形式访问它:
{{ $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('dylan@dylanglockler.com', 'Dylan Glockler');
$message->to('dylan@dylanglockler.com', 'Love Laundry')->subject('CLS Tracking - Invoice');
});
}
我一定是哪里做错了 - Laravel 太热心了,我想我一定是做错了什么!
为此,您需要利用 laravel 的 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('dylan@dylanglockler.com', 'Dylan Glockler');
$message->to('dylan@dylanglockler.com', 'Love Laundry')->subject('CLS Tracking - Invoice');
});
}
那么在你看来:
{{$arrInvoice['invoice_number']}}
您必须将数据从对象转换为数组的原因是,如果您选择使用队列,laravel 可以访问这些信息。
来源:http://laravel.com/docs/4.2/eloquent#converting-to-arrays-or-json