将参数传递给laravel中的邮件模板


pass the parameter to mail tempate in laravel

我想在邮件模板中传递sql数据作为参数。'welcome.blade.php'是我的邮件模板。我已经创建了邮件文件' remaining .php',现在我捕获了'内部服务器错误',我想将用户数据传递给welcome.blade.php

调用ajax中的邮件函数

  $.ajax({
          type: "GET",
            url: "testHello",
            data: {'id':user_id},
            dataType: 'JSON',
            success: function(data, textStatus, jqXHR){
               //alert(data);
        }
          });

路线
  Route::get('testHello','travelerHome@test');
控制器

public function test(Request $request)
{
    $request_data = $request->all();
   $id = $request_data['id'];  
   $to_email = 'test.test@domain.com';
    Mail::to($to_email)->send(new Reminder);
    return response()->json($id);  
} 

Remailder.php

public function build()
{
    DB::enableQueryLog();
 
$users = DB::table('travel_request')
        ->join('department', 'travel_request.department_id', '=', 'department.id')
        ->join('users', 'travel_request.approver_id', '=', 'users.id')
        ->join('travel_purpose', 'travel_request.travel_purpose_id', '=', 'travel_purpose.id')
        ->join('traveling_details', 'travel_request.id','=','traveling_details.travel_request_id' )
        ->join('country','country.id', '=', 'traveling_details.country_id')
        ->join('travel_type','traveling_details.travel_type_id', '=', 'travel_type.id')
        ->join('travel_request_status','travel_request.status_id', '=', 'travel_request_status.id')
        ->select('travel_request.*', 'travel_request.id as travel_id','department.name as dept_name','users.firstname as approver_name','travel_purpose.purpose','country.name as country_name','traveling_details.from_date','traveling_details.to_date','travel_request_status.status','travel_type.type as travelType')->where('travel_request.approver_id',$approver_id)->groupby('travel_request.id')->get(); 
    return $this->from('test.larvel@domain.com')
                ->view('email.welcome',['users'=>$users]);
}

welcome.blade.php

@foreach ($users as $user) 
     {{$user->traveler_name}}
     @endforeach

似乎您有一个未定义的变量($approver_id)在您的查询。你的代码看起来不错,我假设查询抛出'内部服务器错误'。

如果您检查您的日志,您应该能够查明问题。