Я проверил некоторые вопросы по этому вопросу, но все еще не мог понять.
Итак, вот мой контроллер (я сократил некоторый код, чтобы сократить вопрос):
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;
}
Теперь, когда я пытаюсь получить данные в электронной почте. $car->status
или попробуйте получить больше информации о пользователе $user->street
Я получаю пустым в моей электронной почте! единственное, что я получаю, это $user->name
, Есть лучший способ сделать это ? Ваша помощь будет по достоинству оценена
пожалуйста, используйте функцию почты 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 (внутри папки электронной почты) вы можете получить доступ к свойствам объекта.
Других решений пока нет …