从数据库传递模板时变量不呈现

时间:2018-11-27 12:10:48

标签: laravel laravel-5.7

我在数据库模板中具有变量ant等的电子邮件。 当我在视图中通过数据库变量传递模板时,不会呈现和显示{{$ child_fullname}},{{$ specialist_fullname}}等,而不是给定名称。

这是我的Mail构建功能:

public function build()
{
    return $this->subject('Pranešimas apie sėkmingą registraciją')
                ->view('email-template')
                ->with([
                    'body'                => EmailTemplate::find(1)->text,
                    'child_fullname'      => $this->child->name . ' ' . $this->child->surname,
                    'specialist_fullname' => $this->card->specialist->name,
                    'date_time'           => $this->visits->workSchedule->work_date . 
                                             ' ' . $this->visits->workSchedule->work_time
                ]);
}

刀片模板:

<!doctype html>
<html>
    <head>
        <meta name="viewport" content="width=device-width">
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    </head>
    {!! $body !!}
</html>

结果: enter image description here

提前感谢您的帮助!

PS用它发送电子邮件。

2 个答案:

答案 0 :(得分:2)

由于Lobibox.notify( 'info', { title: 'Duplicating line', msg : 'Wait...', size : 'mini', delay: false } ); $.ajax({ type : 'GET', url : $url + '_save.php', dataType: "json", data : { "action" : "duplicate", "ide": ide, "idf": idf }, success : function () { Lobibox.notify( 'success', { title: 'Duplicating line', msg : 'Done!', size : 'mini' } ); } }); 是传递给视图的变量,因此没有呈现。

您应该首先呈现body,然后将其包含在电子邮件中。

一种解决方案是使用http://lobianijs.com/site/lobibox,它将使您入门。

其伪代码为:

body

答案 1 :(得分:0)

尝试Blade::compileString()

{!! Blade::compileString($body) !!}