요청 파라미터를 사용하여 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).
나한테 더 잘 어울려.