代码之家  ›  专栏  ›  技术社区  ›  user9461267

登录时捕获用户id并根据操作保存用户id

  •  -1
  • user9461267  · 技术社区  · 8 年前

    我需要捕获登录用户,当我添加问题时,我需要在问题表中保存相应的用户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();
            }
    
    
        }
    
    3 回复  |  直到 8 年前
        1
  •  2
  •   Rahul    8 年前

    获取用户ID。使用类似这样的内容。

    Auth:user()->id;
    

    或者您可以使用

    Session::getId();
    
        2
  •  0
  •   arun    8 年前

    更改此行,

    'created_user_id'=>Session::get('created_id'),
    

    'created_user_id'=>Auth::id(),
    
        3
  •  0
  •   stone    8 年前

    您使用了$user\u 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);
    }
    ?>
    
    推荐文章