Имя пользователя хранится в моем сеансе. Я работаю над модулем управления отпусками. В таблице модуля «Мой отпуск» есть эти поля Имя пользователя, тип отпуска, продолжительность, статус и действие. Помимо имени пользователя, все детали, которые я могу вставить и перечислить в виде списка. Но мое имя пользователя хранится в сеансе. Как я могу получить его из сеанса и сохранить в базе данных в поле имени пользователя??
Код в моем файле просмотра
@if (Session::has('key'))
<?php $username = Session::get('key')['username']; ?>
@endif
<input type = "hidden" name = "username" value = "<?php echo $username ?>">
Код в моем файле контроллера
public function leaveApplication(Request $request)
{
$leave = new LeaveManagement();
$leave->username = $request->get('username');
$leave->leaveType = $request->get('leaveType');
$leave->startDate = $request->get('startDate');
$leave->endDate = $request->get('endDate');
$leave->fromLeave = $request->get('fromLeave');
$leave->fromHalfDayLeaveType = $request->get('fromHalfDayLeaveType');
$leave->toLeave = $request->get('toLeave');
$leave->toHalfDayLeaveType = $request->get('toHalfDayLeaveType');
$leave->fullDayLeave = $request->get('fullDayLeave');
$leave->typeOfLeave = $request->get('typeOfLeave');
$leave->reasonForLeave =$request->get('reasonForLeave');
$leave->status = 'Pending';
$leave->save();
return redirect('leave');
}






После входа в систему Auth сохраняет в нем поля пользовательской таблицы. Вы можете получить к нему доступ так -
echo Auth::user()->name or echo Auth::user()->email
Он вернет ожидаемые значения: «usersname» и «[email protected]».
Если вы не используете Auth, вы можете получить имя пользователя из своего сеанса и сохранить его в БД следующим образом:
$user = session()->get('user')
$username = $user->username;
$leave = new LeaveManagement();
$leave->username = $username;
$leave->save();
Надеюсь, что это поможет вам.
Пожалуйста, проверьте сейчас.
Я получил эту ошибку. Попытка получить свойство «имя пользователя» не-объекта
Вы можете использовать глобальный помощник сеанса Laravel: session(keyName).
Чтобы получить имя пользователя из сеанса и сохранить его в базе данных:
$username = session('username');
$leave = new Leave();
$leave->username = $username;
$leave->save();
Для получения дополнительной информации о сеансе Laravel см. Сессия Laravel.
Не работает .. Что я должен написать в своем файле лезвия ??
Вы можете передать переменную имени пользователя, например return view('view.name', ['username' => $username]). Затем в лезвии вы можете использовать переменную {{$username}}.
вы можете получить объект из своего сеанса и получить доступ к его атрибутам. Что-то вроде:
$user = session()->get('user')
$username = $user->username
или после входа в систему вы можете получить доступ к имени пользователя вашего пользователя с помощью:
auth()->user()->username
Я не использую Auth, подождите, я задам код под сомнение