2015-05-27 2 views
0

Я получаю ошибку, что переменная $ recipient не определена в laravel.переменная foreach undefined в laravel

public function sendEmail($input, $recipients){ 

    foreach($recipients as $recipient){ 
      $student = StudentInfo::where('email', '=', $recipient)->first(); 
      Mail::queue('emails.outMail', array('letter' => $input['dept_message']), function($message){ 
       $message->to($recipient, $student->first_name)->subject($input['dept_subject']); 
      }); 
     } 

    } 
+0

Добавить полный след ошибки. – iamawebgeek

ответ

-1

В функции закрытия вам необходимо использовать $ recipient.

function($message) use ($recipient){ 

     //code 

    } 

Обновленный код


public function sendEmail($input, $recipients){ 
    foreach($recipients as $recipient){ 
      $student = StudentInfo::where('email', '=', $recipient)->first(); 
      Mail::queue('emails.outMail', array('letter' => $input['dept_message']), function($message) use ($recipient) { 
       $message->to($recipient, $student->first_name)->subject($input['dept_subject']); 
      }); 
     } 
    } 
+0

Привет, ibnkashmir, добро пожаловать в переполнение стека! Интересно, можете ли вы отредактировать свой ответ, чтобы понять, какая разница между вашим кодом и исходным кодом. Мне потребовалось некоторое время, чтобы определить дополнительное 'использование ($ recipient)'. Это поможет оригинальному плакату, а также любому, кто найдет эту страницу позже! – RJHunter

Смежные вопросы