#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"