在Laravel中,有没有办法向请求数组添加值?
我在Laravel中遇到一种情况,当时我使用 Request 参数调用 store() 或 update() 方法,以便在调用 Eloquent 函数之前向请求添加一些附加值。
function store(Request $request)
{
// some additional logic or checking
User::create($request->all());
}
我在Laravel中遇到一种情况,当时我使用 Request 参数调用 store() 或 update() 方法,以便在调用 Eloquent 函数之前向请求添加一些附加值。
function store(Request $request)
{
// some additional logic or checking
User::create($request->all());
}
通常,您不想向 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
参考答案:Alexey Mezenin
在使用他的答案时,我不得不直接向请求对象添加一些东西,并使用:
$request->request->add(['variable', 'value']);
使用它来添加两个变量:
$request[0] = 'variable', $request[1] = 'value'
如果你是像我这样的新手,你需要一个关联数组,正确的方法是
$request->request->add(['variable' => 'value']);
希望我节省了你的一些时间
PS:谢谢,你真的帮了我一个答案@Alexey