在Laravel中,有没有办法向请求数组添加值?

2022-08-30 06:46:14

我在Laravel中遇到一种情况,当时我使用 Request 参数调用 store() 或 update() 方法,以便在调用 Eloquent 函数之前向请求添加一些附加值。

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

答案 1

通常,您不想向 Request 对象添加任何内容,最好使用 collection 和 put() 帮助程序:

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

答案 2

参考答案:Alexey Mezenin

在使用他的答案时,我不得不直接向请求对象添加一些东西,并使用:

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

使用它来添加两个变量:

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

如果你是像我这样的新手,你需要一个关联数组,正确的方法是

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

希望我节省了你的一些时间

PS:谢谢,你真的帮了我一个答案@Alexey


推荐