J'essaie d'utiliser la classe Mail dans Laravel 4, et je ne suis pas en mesure de passer des variables à l'objet $ m.
l'objet $ team contient des données que j'ai extraites de la base de données avec éloquence.
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('[email protected]', 'Sender');
});
Pour une raison quelconque, j'obtiens une erreur où $ team object n'est pas disponible. Je suppose que cela a quelque chose à voir avec la portée.
Des idées ?
Réponses:
Si vous avez instancié la
$team
variable en dehors de la fonction, elle n'est pas dans la portée des fonctions. Utilisez le mot-clé use .Remarque: La fonction utilisée est une fermeture PHP (fonction anonyme) Elle n'est pas exclusive à Laravel.
la source