В чем смысл возврата $request->post(); в laravel?

#php #laravel #laravel-8

Вопрос:

в чем смысл возврата $request->post();> в laravel ? Пожалуйста, помогите мне

 public function store(Request $request)
{
    return $request->post();
}
 

Спасибо за помощь.

Ответ №1:

post() Способ запроса

Например, предположим, что у вас есть следующие данные в запросе

 [
        'username'=>'John lobo',
        "dob"=>'10/10/1990',
        'address'=>[
            'city'=>'London',
            'country'=>'Uk'
        ]
    ]
 

1.Если параметры не переданы методу post (), то он возвращает все данные из запроса.

 return $request->post(); 
 

Выход будет

 {
"username": "John lobo",
"dob": "10/10/1990",
"address": {
"city": "London",
"country": "Uk"
}
}
 

2.если первый параметр передан методу post (), то он вернет только это значение ключей .Например, я прошел

return $request->post('username');

тогда выход будет John lobo

3.если первый параметр, переданный методу post (), есть invalid key или не существует в запросе, то throw error вместо этого он не будет return null

4.Предположим, что если вы хотите установить значение по умолчанию, если оно равно нулю, то вы можете передать второе param

 return $request->post('username',"John Lobo"); 
 

5.In метод отправки запроса, к которому вы не можете получить доступ nested key directly , например

 return $request->post('address.city');
 

он не будет бросать error , вместо этого он вернется null

Но если вы подумаете $request->input() ,то он работает точно так же, как $request->post() и раньше, но с одним отличием, он будет возвращать вложенное значение напрямую, а не пустое

 return request()->input('address.city');
 

Результат таков London

Если request содержит file , то запрашивайте input и post возвращайте местоположение пути, как показано ниже, вместо объекта file.В таком случае $request->all() это хороший способ

  "file" => "I:xampptmpphpB84E.tmptest"