Larabel에서 POST의 모든 정보를 얻는 방법
저는 Larabel 5를 사용하고 있는데 이렇게 컨트롤러에 POST 변수를 입력하려고 합니다.
public function add_question()
{
return Request::all();
}
이 에러가 발생하고 있습니다.
내가 뭘 잘못하고 있지?
다음을 시도해 보십시오.
use Illuminate\Support\Facades\Request;
public function add_question(Request $request)
{
return $request->all();
}
GET 및 POST 데이터를 모두 보여주는 현재 답변에는 큰 오류가 있는 것으로 보입니다.POST 데이터뿐만이 아닙니다.
당신의 코드와 관련된 문제는 당신이 정면을 수입하지 않았다는 것입니다.이것을 Import 하려면 , 상부에 다음의 항목을 추가합니다.
use Request;
public function add_question(Request $request)
{
return Request::post();
}
@Canaan Etai에서 언급한 것과 같은 글로벌 요구 방식을 Import 없이 사용할 수도 있습니다.
request()->post();
그러나 Import에 대한 보다 나은 접근법Request
컨트롤러 방식에서는 @shuvrow answer에서 설명한 바와 같이 의존성 주입이 사용됩니다.
use Illuminate\Http\Request;
public function add_question(Request $request)
{
return $request->post();
}
DI에 대한 자세한 내용은 다음을 참조하십시오.
- https://laravel.com/docs/5.6/container
- https://laravel.com/docs/5.6/controllers#dependency-injection-and-controllers
어느 경우든 다음을 사용해야 합니다.
// Show only POST data
$request->post(); // DI
request()->post(); // global method
Request::post(); // facade
// Show only GET data
$request->query(); // DI
request()->query(); // global method
Request::query(); // facade
// Show all data (i.e. both GET and POST data)
$request->all(); // DI
request()->all(); // global method
Request::all(); // facade
'POST의 모든 입력을 받는 방법'을 찾으시는 분만을 대상으로 합니다.
TLDR;
Laravel > = 5.5
$request->post()
// or
$request->post('my_param')
이전 버전
$request->request->all(); //Get all post requests
$request->request->get('my_param'); //Get a post parameter
설명.
학급Illuminate\Http\Request
에서 뻗다Symfony\Component\HttpFoundation\Request
여기에는 요청 파라미터를 저장하는2개의 클래스 변수가 있습니다.
public $query
- GET 파라미터의 경우
public $request
- POST 파라미터의 경우
$request->request->all(); //Get all post requests
$request->request->get('my_param'); //Get a post parameter
$request->post()
버전 5.5 이후의 내부 콜의 경우$request->request->all()
또는$request->request->get('my_param')
각각 다음과 같다.
출처는 이쪽
정면을 사용해야 합니다.Illuminate\Http\Request
. 맨 위에서 Import:
use Request;
그리고 다른 반과 충돌하지 않도록 하세요.
편집: 이 답변은 몇 년 전에 작성되었습니다.나는 이제 아래의 shuvrow가 제안한 접근법을 선호한다.
모든 포스트 데이터를 이 함수로 가져올 수 있습니다.-
$postData = $request->post();
특정 파일을 원하는 경우 다음을 사용하십시오.
$request->post('current-password');
종속성을 클래스에 첨부하는 것보다 사용하는 것이 좋습니다.
public function add_question(Request $request)
{
return Request::all();
}
또는 입력 변수 사용을 선호하는 경우
public function add_question(Request $input)
{
return $input::all();
}
이제 larabel에서 제공하는 글로벌 요청 메서드를 사용할 수 있습니다.
request()
예를 들어 폼 입력의 first_name을 가져옵니다.
request()->first_name
// or
request('first_name')
사용할 수 있습니다.
$params = request()->all();
없이.
import Illuminate\Http\Request
또는
use Illuminate\Support\Facades\Request
아니면 다른 것.
적어도 다음과 같아야 합니다.
public function login(Request $loginCredentials){
$data = $loginCredentials->all();
return $data['username'];
}
언급URL : https://stackoverflow.com/questions/32718870/how-to-get-all-input-of-post-in-laravel
'programing' 카테고리의 다른 글
MySQL에서 열 이름 바꾸기 (0) | 2022.09.25 |
---|---|
check 절에서 CURDATE()를 사용하는 방법 (0) | 2022.09.25 |
MariaDB 설치: 설치 중에 서비스로 실행 중 선택을 취소했습니다.mariadb를 시작하고 멈추는 올바른 방법은 무엇입니까? (0) | 2022.09.25 |
MySQLDB가 실행하는 실제 쿼리를 인쇄하시겠습니까? (0) | 2022.09.25 |
SQL 열 추가 (0) | 2022.09.25 |