Получить данные сеанса в функции хранилища - PullRequest
0 голосов
/ 09 октября 2018

Правильно ли получать данные сеанса в функции хранилища и сохранять их в дБ?

public function store(){    
  ...
  $idgroup = Session::get('invitation_userid')];
  ...
}

Или нужна всегда функция хранилища объекта запроса?

public function store(Request $request){    
  ...
  $idgroup = $request('idgroup');
  ...
}

В обоих случаяхФункции - это, конечно, часть проверки входных данных.

Ответы [ 3 ]

0 голосов
/ 09 октября 2018

Это полностью зависит от контекста того, как на самом деле называется ваш контроллер, как эти данные используются и почему вы не используете драйвер сеанса базы данных в первую очередь, если вы хотите сделать это.

Вы можете просто использовать драйвер базы данных для сеанса:

https://laravel.com/docs/5.7/session#introduction

Это также зависит от того, как называется ваш контроллер, если вы строго хотите следовать маршрутам отдыха:

https://gist.github.com/alexpchin/09939db6f81d654af06b

Чтобы ответить на второй вопрос, вам не всегда нужен объект Request в вашем действии store.В большинстве случаев вы даже не увидите объект Request, потому что вы просто создаете совершенно новый ресурс.

0 голосов
/ 09 октября 2018

Global Session Helper. Вы также можете использовать функцию PHP для глобальной сессии, чтобы получать и хранить данные в сессии.Когда помощник сеанса вызывается с одним строковым аргументом, он возвращает значение этого ключа сеанса.Когда помощник вызывается с массивом пар ключ / значение, эти значения будут сохранены в сеансе:

$value = session('key');

0 голосов
/ 09 октября 2018

Оба подхода хороши, но вы должны использовать их соответствующим образом, я предпочитаю использовать данные Request.Основное отличие состоит в том, что если вы сохраните это внутри Session, оно будет доступно для всего приложения, а если вы отправите внутри Request, оно будет доступно только внутри метода

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...