我需要捕获登录用户,当我添加问题时,我需要在问题表中保存相应的用户ID。我在登录时获取用户ID但是它没有保存在问题表中
具有商店功能的控制器
public function store(Request $request)
{
//
$last_que = Question::orderBy('question_id', 'desc')->first();
if ($last_que != null) {
$old_queId = $last_que->question_id;
$old_queId = $old_queId + 1;
} else {
$old_queId = 1;
}
$qorder=$request->input('order');
$question=new Question();
$quest=$question->checkDuo($qorder);
if(count($quest)==0)
{
$que=Question::create([
'question'=>$request->input('question'),
'question_id'=>$old_queId,
'question_type'=>$request->input('qtype'),
'question_schedul'=>$request->input('qschedule'),
'created_user_id'=>Session::get('created_id'),
'order_no'=>$request->input('order')
]);
if($que)
{
return redirect()->route('questions.index')->with('success', 'Successfully saved');
}
}
else
{
return redirect()->back()->with('fail', 'Unable to save..! Entry with same order no. already exist');
}
}
在登录索引文件中,这是我用来捕获用户ID
<?php
if (!empty($id)) {
Session::put('created_id', $id);
}
?>
登录控制器
public function postSignIn(Request $request)
{
if (Auth::attempt(['username' => $request['username'], 'password' => $request['password']])) {
$user = DB::table('users')->where([['username', '=', $request['username']], ['status', '=', '0']])->first();
$user_id = $user->user_id;
return redirect()->route('dashboard', $user_id)->with('message', 'State saved correctly!!!');
} else {
return redirect()->back();
}
}
答案 0 :(得分:3)
获取用户ID。使用这样的东西。
Auth:user()->id;
或者您可以使用
Session::getId();
答案 1 :(得分:1)
更改此行,
'created_user_id'=>Session::get('created_id'),
要,
'created_user_id'=>Auth::id(),
答案 2 :(得分:0)
您使用了$ user_id
return redirect()->route('dashboard', $user_id)->with('message', 'State saved correctly!!!');
比问:
if (!empty($id)) {
此$ id将始终为空,因此请使用:
<?php
if (!empty($user_id)) {
Session::put('created_id', $user_id);
}
?>