Я отправляю электронное письмо с информацией об ошибке, когда у laravel есть исключение. Но я хотел бы включить информацию о пользователе, зарегистрированном во время ошибки.
В Handler.php
public function report(Exception $exception)
{
parent::report($exception);
Mail::send('emails.errorreport', ['e' => $exception], function($message)
{
$message->to('email@email.com')->subject('Report error');
});
}
В письмах / errorreport.blade.php
<h3>Error Information</h3>
<p><strong>Date:</strong> {{ date('M d, Y H:iA') }}</p>
<p><strong>Message:</strong> {{ $e->getMessage() }}</p>
<p><strong>Code:</strong> {{ $e->getCode() }}</p>
<p><strong>File:</strong> {{ $e->getFile() }}</p>
<p><strong>Line:</strong> {{ $e->getLine() }}</p>
<h3>Stack trace:</h3>
<pre>{{ $e->getTraceAsString() }}</pre>
@if(Auth::user())
<p><strong> User: </strong> ID: {{Auth::user()->id}} / Name: {{Auth::user()->name}} / Email: {{Auth::user()->email}}</p>
@endif
Это не работает.
Информация об ошибке отправляется правильно, но не от пользователя. Даже когда у меня есть пользователь «if (Auth :: user ()) возвращает false.
Используйте check (), возвращает true, если пользователь вошел в систему … Auth :: user () возвращает объект пользователя … в противном случае Auth :: guest () возвращает true, если пользователь является гостем …
@if (Auth::check())
<p><strong> User: </strong> ID: {{Auth::user()->id}} / Name: {{Auth::user()->name}} / Email: {{Auth::user()->email}}</p>
@endif
Других решений пока нет …