【问题标题】:Display JSON Data store in JSON in blade (Laravel 8)在刀片中以 JSON 格式显示 JSON 数据存储(Laravel 8)
【发布时间】:2021-09-01 05:44:58
【问题描述】:

我已经通过电子邮件生成通知并设法发送电子邮件。

现在我想更改 Laravel 提供的模板,因此我创建了一个将显示的新自定义刀片。

我在将数据传输到刀片视图时遇到问题。

下面是我的代码:

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

 public function toMail($notifiable)
{
    /*This is the original code with default template */
    // return (new MailMessage)
    //     ->greeting($this->offerData['name'])
    //     ->line($this->offerData['body'])
    //     ->action($this->offerData['offerText'], $this->offerData['offerUrl'])
    //     ->line($this->offerData['thanks']);

    /*This is the code use to display the customize template*/
    return (new MailMessage)->view(
        'email_notification',
        ['data' => $this->offerData]
    );

下面是我如何显示代码:

<!DOCTYPE html>
    <html>
        <head>
            <title>Hi Awak</title>
        </head>

         <body>

              @foreach($data as $data_)
                   <p>{{ $data_ }}</p>
              @endforeach

         </body>

    </html>

这是结果:

我不能对每个数据做任何具体的修改,你可以看到它只是在这里重复了 p 标签。

【问题讨论】:

  • 输出没有问题。您将 p 标签放在 for 循环中,这就是它重复 p 标签的原因。如果要自定义数据在视图中的显示方式,则必须使用 html 标签并与数据一起手动设计。

标签: php laravel


【解决方案1】:

谢谢你的帮助......

我设法找到了解决方案...

我只是将数组存储在数组中...

public function toMail($notifiable)
{
    return (new MailMessage)->view(
        'email_notification',
        ['name' => [$this->offerData['name']],
         'body' => [$this->offerData['body']]
        ]
    );
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-02-14
    • 1970-01-01
    • 2021-07-18
    • 2020-10-10
    • 2019-02-22
    • 2023-01-08
    • 2020-03-21
    • 1970-01-01
    相关资源
    最近更新 更多