source

Larabel 4의 폐쇄에 데이터 전달

factcode 2022. 11. 5. 08:55
반응형

Larabel 4의 폐쇄에 데이터 전달

Larabel 4의 Mail Class를 사용하려고 하는데 $m 객체에 변수를 전달할 수 없습니다.

$team 객체에는 DB에서 웅변으로 가져온 데이터가 포함되어 있습니다.

Mail::send('emails.report', $data, function($m)
{
   $m->to($team->senior->email, $team->senior->first_name. ' '. $team->senior->last_name );
   $m->cc($team->junior->email, $team->junior->first_name. ' '. $team->junior->last_name );
   $m->subject('Monthly Report');
   $m->from('info@website.example', 'Sender');
});

어떤 이유로 $team 객체를 사용할 수 없는 오류가 발생합니다.스코프와 관련이 있는 것 같아요.

를 인스턴스화한 경우$team변수가 함수 밖에 있으면 함수 범위에 포함되지 않습니다.use 키워드를 사용합니다.

$team = Team::find($id);
Mail::send('emails.report', $data, function($m) use ($team)
{
   $m->to($team->senior->email, $team->senior->first_name . ' '. $team->senior->last_name );
   $m->cc($team->junior->email, $team->junior->first_name . ' '. $team->junior->last_name );
   $m->subject('Monthly Report');
   $m->from('info@website.example', 'Sender');
});

주의: 사용하고 있는 함수는 PHP Closure(익명함수)입니다.그것은 라라벨만의 전유물이 아니다.

언급URL : https://stackoverflow.com/questions/14482102/passing-data-to-a-closure-in-laravel-4

반응형