2014-12-06 2 views
-1

정의되지 않은 변수를 얻는 Laravel Mail &을 사용하여 전자 메일을 보내려고합니다.보기의 데이터입니다. 여기 내 컨트롤러 코드가 있습니다.Laravel Mail 정의되지 않은 변수

{{ $data[0]['claim_of'] }} 

<br /> 

{{ $data[0]['vehicle_no'] }} 

<br /> 


    <?php $i = 1 ; ?> 
    @foreach($data as $key => $claim) 
     <p> {{ $i }}. {{ $claim->email_text }}</p> 
     <?php $i++ ; ?> 
    @endforeach 

내가

  return View::make('emails.workshop')->with('data', $data); 

모든 것에 Laravel 메일 코드를 대체

$insured  = Claim::where('id', '=', $claim_id)->first()->toArray(); 
    $workshop  = Workshop::where('id', '=', $insured['workshop_id'])->first()->toArray(); 
    $data   = Document::whereRaw('claim_id = ' . $claim_id . ' AND (documents.status = 10 OR documents.status = 12)') 
         ->join('docs','documents.doc_id', '=', 'docs.id') 
         ->join('claims','documents.claim_id', '=', 'claims.id') 
         ->get(array('docs.email_text', 'claim_of', 'vehicle_no'))->toArray(); 
    Mail::send('emails.workshop', $data, function($message) 
    { 
     $message->to('[email protected]')->subject('Testing'); 
    }); 

보기는 완벽하게 작동합니다.

답변

2

매개 변수는 키 값 배열

Mail::send('emails.workshop', array('data' => $data), function($message) 
{ 
    $message->to('[email protected]')->subject('Testing'); 
}); 

Laravel Docs

변수 이름에 따라 자동으로 수행 compact라는 좋은 PHP 함수는, 거기에 전달해야합니다. 당신의 대답은이 오류를 해결 @lukasgeiter

그래서 compact('data') 반환 array('data' => $data) ( $data가 정의 된 경우)

+0

당신이 너무 감사합니다. – Aman

+0

당신은 환영합니다 :) – lukasgeiter