Использование столбца идентификатора базы данных в качестве идентификатора сеанса пользователя в проекте Laravel

#laravel

#laravel

Вопрос:

Я только начинаю с Laravel. В моем проекте мне нужно объявить столбец идентификатора таблицы user в качестве идентификатора сеанса. Это делается для того, чтобы я мог вставить этот идентификатор в другую таблицу вместе с другими данными для идентификации пользователя, который отправил информацию в таблицу. Как я могу это сделать, пожалуйста?

Я искал в Google и здесь в Stack Overflow, но я не могу получить какую-либо помощь.

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

Комментарии:

1. Крайне не рекомендуется использовать идентификатор сеанса в качестве идентификатора пользователя из столбца user. Если пользователь вошел в систему, очевидно, что он или она отправляет форму. Зачем вам вообще нужно использовать сеанс?

Ответ №1:

Вы можете получить идентификатор вошедшего в систему пользователя с помощью Auth::user()->id или auth()->user()->id , и вы можете использовать это везде, где вам нужно.

Еще один простой способ написать отношения, а затем работать с отношениями.

Комментарии:

1. Или Auth::id(); или auth()->id(); . Хотя предпочтительнее прежний ( Auth::id() ).

Ответ №2:

Как предложил @mohammed Hosseini, я использовал Auth::user()-> id. но произошла ошибка: класс app HTTP Controller Auth не может быть найден. я решил это, добавив Auth facade к моему контроллеру следующим образом:

 use IlluminateSupportFacadesAuth
  

Также идентификатор пользователя защищен. я получил к нему доступ, добавив общедоступную функцию в свою модель следующим образом:

 public function getId(){ return $this->id;}