php - laravel中如何区分get数据和post数据
本文介绍了php - laravel中如何区分get数据和post数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
可能有时候会碰到这样的场景:
有一个post提交请求,请求地址为:xxx?id=10,提交的post数据为:id=20
而在控制器中,我要同时得到get和post中数据
get中的id为10,而post中的id为20
这两个id分别要如何取出来?
====================
结合 @As 和 @冰糖雪梨 两位的回答,总结一下:
一、仅只取get数据(两种)
$request->query->get('name', '未设值')
$request->query('name', '未设值')
二、仅只取post数据(一种)
$request->request->get('name', '未设值')
三、get和post一起取,同名post覆盖get(三种)
$request->input('name', '未设值')
$request->name
$request->get('name', '未设值')
最后顺便吐槽一下这个优雅的框架
解决方案
// 路由
route::any('input', 'YourController@input')
// 测试方法
public function input(Request $request)
{
// get方法
echo $request->get('id');
// get方法
echo $request->query('id');
// get方法
echo $request->query->get('id');
// 有post会覆盖get improve by amu(题主)
echo $request->id;
// 有post会覆盖get
echo $request->input('id');
}
通过测试,一般情况下,如果post/get键名一样,post过来的数据,$request->xxx和$request->input('xxx')会覆盖掉get的取值。
这篇关于php - laravel中如何区分get数据和post数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文