PHP Laravel Http请求

Laravel框架的后台项目,路由控制器方法中,我们可以通过依赖注入的方式拿到请求对象$request


在我们获取请求参数的时候,可以用$request->input('parameter_name')的方式获取请求输入数据

也可以通过$request->parameter_name的方式来动态获取输入数据

这种方式的好处就是,不管你有没有传这个参数,都可以直接拿来用,只是在没有传这个参数的时候获取到的值为空


在更新某个表的数据的时候,有时候会用到Laravel模型的update方法,update的参数就是一个键值数组:['name' => 'jerry', 'gender' => '男', ...]

这个时候我们可以通过快捷的方式拿到这个数组,即$request->only([parameters]) 或 $request->except([parameters])或$request->intersect([parameters])

接下来是重点:


only方法,是不管你传了哪些参数,只接受数组里的属性,如果$request里没有这个属性,就会生成一个值为空的属性

except方法,是不管你传了哪些参数,总会剔除数组里的这些属性,即update的数据是except方法参数相对于所有请求参数的补集

intersect方法,这个方法是将请求的所有参数数组与方法传递的参数数组求交集,也就是说,如果我们的intersect方法里传的是a,e,那么我们更新数据的时候,只会更新intersect方法的参数的子集


所以,在使用only方法的时候,我们一定要注意,一定要确保only参数里的所有属性都传了,否则更改的时候,会把其他属性也更改掉,建议使用intersect方法,适用范围广


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值