Laravel 4 में एक बंद करने के लिए डेटा पास करना


108

मैं Laravel 4 में मेल क्लास का उपयोग करने की कोशिश कर रहा हूं, और मैं $ m ऑब्जेक्ट के लिए वेरिएबल पास नहीं कर पा रहा हूं।

$ टीम ऑब्जेक्ट में वह डेटा होता है जिसे मैंने 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.com', 'Sender');
});

किसी कारण से मुझे एक त्रुटि मिलती है जहां $ टीम ऑब्जेक्ट उपलब्ध नहीं है। मुझे लगता है कि इसका स्कोप से कुछ लेना-देना है।

कोई विचार ?


मेरे लिए ठीक वैसा ही परिदृश्य। मेल :: मुझे भेजने के लिए जारी करने के लिए चर और फिर वापस करने के लिए चर के बारे में खोज के मुद्दे को भेजें। शायद एक संकेत कुछ इस पर लार्वा मेलर डॉक्स में जोड़ा जाना चाहिए?
शौनक

जवाबों:


231

यदि आपने $teamफ़ंक्शन के बाहर चर को तत्काल किया है , तो यह फ़ंक्शन के दायरे में नहीं है। उपयोग कीवर्ड का उपयोग करें ।

$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.com', 'Sender');
});

नोट: जिस फ़ंक्शन का उपयोग किया जा रहा है वह PHP क्लोजर (अनाम फ़ंक्शन) है यह लारवेल के लिए अनन्य नहीं है।


3
धन्यवाद, मुझे नहीं लगा कि आप इस तरह से 'उपयोग' कर सकते हैं। मैं केवल यही चाहता हूं कि मैं यह जल्द सीख सकूं।
डगलस। सिसर

2
इसके अलावा मेरी समस्या को हल करने के लिए काम किया :: Laravel 5 में कतार
DavidHyogo

@DavidHyogo मुझे भी, इस पोस्ट को पाकर खुशी हुई
atom2ueki
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.