Laravel 如何修改 Request 对象里请求参数的值?

请尝试在评论区里写下答案(如不能清楚表述,那么你可能没真正理解)。欢迎参与,为下一次求职做准备。

例如:要修改请求表单里 user_id 的值。

摈弃世俗浮躁,追求技术精湛
Summer
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 15
Summer
$request->merge(['user_id' => $some_user_id]);
2周前 评论
playmaker 1周前

request()->replace(['user_id' => $data]);

2周前 评论
chowjiawei

有2种方式可以更改 我常用的是 把用户的request内的值 给我伪造的request内

 $myRequest = new Request();
 $userId=$request->input('user_id'); 修改完后 传入并使用我的request 
 $myRequest->request->add($userId);
2周前 评论
liziyu 2周前
chowjiawei (作者) 2周前
liziyu 2周前

我一般是在中间件内或表单校验时需要处理表单数据,会使用到该方法

$request->offsetSet('user_id', 'xxx');
2周前 评论
overfalse 2周前

$request->offsetSet('user_id', 'xxx');

2周前 评论

如果面试问了,肯定不知道,但如果实际中要这么做,看下源码就能知道怎么做,除非做不了,,,

2周前 评论
Summer
$request->merge(['user_id' => $some_user_id]);
2周前 评论
playmaker 1周前
Bill-Li
$request->user_id = $some_user_id;
2周前 评论

既然是修改值,我会用: $request->replace(['user_id' => $newUserId])

1周前 评论
wenber

@24K大白羊 针对修改值这个场景来, 该方法更符合语境

1周前 评论
playmaker

file

1周前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!