2016-08-22 74 views
0

我試圖插入結果到我的電子郵箱視圖,然後使用的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

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

$結果沒有被通過:

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); 
     }); 
+0

是的,我只是發現了它。謝謝! –

0

試試這個:

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

我使用這個語法,它工作正常。

相關問題