我正在使用Laravel进行开发。在控制器的approve
方法中,我无法访问$requestToBeApproved
中的Mail::send()
。我尝试了$catRequest = $GLOBALS['requestToBeApproved'];
,但收到错误“未定义索引”。我也尝试了global $requestToBeApproved
并收到错误“未定义的变量”。这里发生了什么,我该如何解决?
public function approve($requestID)
{
$requestToBeApproved = CatRequest::where('id', $requestID)->first();
Mail::send('emails.toUser.toUser',
['status'=>'Approved', 'catRequest'=>$requestToBeApproved],
function ($message) {
$catRequest = $GLOBALS['requestToBeApproved'];
/* ... */
});
return view('approvalConfirmation.approved',
['catRequest' => $requestToBeApproved]
);
}
答案 0 :(得分:1)
您必须告诉您的函数像这样使用它:
$requestToBeApproved = CatRequest::where('id', $requestID)->first();
Mail::send('emails.toUser.toUser',
['status'=>'Approved', 'catRequest'=>$requestToBeApproved],
function ($message) use( $requestToBeApproved) {
$catRequest = $requestToBeApproved;
/* ... */
});