代码之家  ›  专栏  ›  技术社区  ›  Filip J.J.

尝试Mail::send时未定义变量

  •  0
  • Filip J.J.  · 技术社区  · 8 年前

    我正在尝试将结果插入到我的电子邮件视图中,然后使用foreach显示数据 得到

    “未定义变量:结果”

    .我怎样才能解决这个问题?

    这是我的

    $results = $sales->orderBy('created_at', 'desc')->get();
    
    Mail::send('mailings.emails.' . $view, $data, function($message) use ($person, $results, $title )
                {
                    $message->to($person->peopleEmail, $person->peopleFirstName . ' ' . $person->peopleLastName)->subject($title);
                });
    

    这是我的 叶片:

    @foreach($results as $result)
    <table class="row">
        <tr>
            <td class="wrapper last">
    
                <table class="twelve columns">
                    <tr>
                        <td>
                            <h5 style="text-align:center;">{{$result->SaleID}}</h5>
                        </td>
                        <td class="expander"></td>
                    </tr>
                </table>
    
            </td>
        </tr>
    </table>
    @endforeach
    
    2 回复  |  直到 8 年前
        1
  •  3
  •   Abhishek Chaurasia    8 年前

    https://laravel.com/docs/5.2/mail#sending-mail

    $results未通过:

     Mail::send('mailings.emails.' . $view, $data, function($message) use ($person, $results, $title )
            {
                $message->to($person->peopleEmail, $person->peopleFirstName . ' ' . $person->peopleLastName)->subject($title);
            });
    

    您需要将其传递为:

    $data = ['results' => $results];//ADD this line
    
     Mail::send('mailings.emails.' . $view, $data, function($message) use ($person, $results, $title )
            {
                $message->to($person->peopleEmail, $person->peopleFirstName . ' ' . $person->peopleLastName)->subject($title);
            });
    
        2
  •  0
  •   Mayank Pandeyz    8 年前

    试试这个:

    $data = array('mailTo' => $serviceProviderEmail, 'subject' => $subject ,'mailBody' => $message);
    Mail::send('template_name', ['data' => $data], function ($message) use ($data) {
        $message->from('no-reply@xyz.com', 'xyz');
        $message->to($data['mailTo'])->subject($data['subject']);
    });
    

    我正在使用这个语法,它工作正常。