我已经检查了一些关于这个问题的问题,但仍然无法弄清楚。
所以这是我的控制器(我切断了一些代码以简化问题):
public function hour(Request $request)
{
$user = JWTAuth::parseToken()->authenticate();
$user->phone = $request->phone;
$user->city = $request->city;
$user->street = $request->street;
$user->save();
$car = Car::find($request->id);
$car->status = 'yes';
$car->save();
$time = new Reservation();
$time->from_date = $from;
$time->to_date = $to;
$Reservation_id = $time->id;
$time->save();
Mail::to('email@gmail.com')->send(new NewRequestMail($user,$car,$time));
然后在Mailable:
public $car;
public $user;
public $time;
public function __construct($car,$time,$user)
{
$this->car = $car;
$this->time = $time;
$this->user = $user;
}
现在,当我尝试在email.view中获取数据时,请查看此$car->status
或尝试获取有关用户$user->street
的更多信息。我的电子邮件中显示空白!我唯一得到的是$user->name
。有一个更好的方法吗 ?你的帮助将非常感激
答案 0 :(得分:1)
请使用带有参数的laravel邮件功能
use Mail;
$to = '';
$from = '';
$subject = '';
Mail::send('email.enquiry', compact('user','car','time'), function ($message) use ($to,$from,$subject) {
$message->from($from)
->to($to)
->subject($subject);
});
因此,在enquiry.blade.php(电子邮件文件夹内)文件中,您可以访问对象属性