захватить идентификатор пользователя при входе в систему и сохранить идентификатор пользователя на основе операций - PullRequest
0 голосов
/ 05 мая 2018

Мне нужно захватить имя пользователя при входе в систему, и когда я добавляю вопрос, мне нужно сохранить соответствующий идентификатор пользователя в таблице вопросов. Я получаю идентификатор пользователя при входе в систему, но он не сохраняется в таблице вопросов

Контроллер с функцией хранения

 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');

        }
    }

в файле индекса входа в систему, это я использовал захватить идентификатор пользователя

<?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 ]

0 голосов
/ 05 мая 2018

Получить идентификатор пользователя. используйте что-то вроде этого.

Auth:user()->id;

Или вы можете использовать

Session::getId();
0 голосов
/ 05 мая 2018

Вы использовали $ 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);
}
?>
0 голосов
/ 05 мая 2018

Изменить эту строку,

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

Для

'created_user_id'=>Auth::id(),
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...