我想在邮件模板中传递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)在您的查询。你的代码看起来不错,我假设查询抛出'内部服务器错误'。
如果您检查您的日志,您应该能够查明问题。