2016-08-22 1 views
0

Ich versuche Ergebnisse in meine E-Mail-Ansicht einfügen und dann foreach verwenden, um Daten anzuzeigen, aber ich immer haltenundefinierte Variable, wenn zu E-Mail versucht :: senden

„Nicht definierte Variable: Ergebnisse“

. Wie könnte ich das beheben?

Hier ist mein Controller-Code:

$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); 
      }); 

Hier ist meine Klinge:

@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 

Antwort

2

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

Ergebnisse $ nicht weitergegeben werden:

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

Sie müssen es passieren, wie:

$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

Ja, ich habe es gerade entdeckt. Vielen Dank! –

0

Try this:

$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']); 
}); 

ich diese Syntax verwenden und es funktioniert gut.