Laravel에서는 요청 배열에 값을 추가하는 방법이 있습니까?

요청 파라미터를 사용하여 store() 메서드 또는 update() 메서드를 호출하다가 Laravel에서 상황이 발생하였습니다.이 메서드를 호출하기 전에 요청에 값을 추가합니다.

function store(Request $request)
{
// some additional logic or checking
User::create($request->all()); } 


질문에 대한 답변



보통 Request 객체에 아무것도 추가하지 않을 경우 컬렉션과 도우미를 사용하는 것이 좋습니다.

function store(Request $request)
{
// some additional logic or checking
User::create(array_merge($request->all(), ['index' => 'value'])); } 

또는 어레이를 결합할 수 있습니다.

User::create($request->all() + ['index' => 'value']); 

단, Request 객체에 무언가를 추가하려면 다음 절차를 수행합니다.

$request->request->add(['variable' => 'value']); //add request 



참조Alexey Mezenin답변:

그의 답변을 사용하는 동안 Request Object에 직접 무언가를 추가하고 다음을 사용해야 했습니다.

$request->request->add(['variable', 'value']); 

이를 사용하여 다음 두 가지 변수가 추가됩니다.

$request[0] = 'variable', $request[1] = 'value' 

나처럼 초보이고 어소시에이트 어레이가 필요한 경우 올바른 방법은 다음과 같습니다.

$request->request->add(['variable' => 'value']); 

내가 시간을 좀 절약했길 바래

PS: 감사합니다.@Alexey, 당신은 당신의 답변에 정말 도움을 주었습니다.




나는 노력했다.$request->merge($array)Laravel 5.2에서 작동하며 완벽하게 작동합니다.

예:

$request->merge(["key"=>"value"]); 



이 문제에 대해서는 충분히 언급했지만, 나는 내 대답을 덧붙이지 않을 수 없었다.가장 간단한 접근법은

request()->merge([ 'foo' => 'bar' ]); 



아래 코드도 사용할 수 있습니다.

$request->request->set(key, value).

나한테 더 잘 어울려.