#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;}