首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

遇见 Laravelの坑-001

HTTP Requests

# Type-hint

You should type-hint the Illuminate\Http\Request class on your controller method.

使用Request,需要在控制器方法里导入 Illuminate\Http\Request 类

use Illuminate\Http\Request;

生成一个Request对象:

Request $request

# Accessing The Request

To obtain an instance of the current HTTP request via dependency injection The incoming request instance will automatically be injected by the service container:

是通过依赖注入来获取一个当前HTTP请求的示例

$name = Request->input('name');

# Retrieving Input

Retrieving All Input Data

You may also retrieve all of the input data as anarrayusing theallmethod:

用 all 方法将检索到的所有数据作为一个数组

$input = Request->all();

下面我们来举例:

假设情况:

我们从表单获取过来的数据是 用户注册信息(userInfo) 的形式,里面有昵称(nickname)、密码(passwd)和 邮箱(mail);

我们要将这些信息存储到用户注册信息表(table usersInfo)里;

我们还想从URL(https://......?inviterInfo=admin)里获取到 邀请该用户注册的邀请人信息(inviterInfo),将其也存储到用户注册信息表里。

input() 实现方式:

我们通过Request的 input 方法获取表单数据,并存储到$data变量中。

$data = $request->input('userInfo');

我们使用这种方法获取过来的数组是这个样子的:

array:3[

"nickname" => "trail"

"passwd" => "123qwe"

]

那我们再通过该方法获取到邀请人信息。

$inviterInfo = $request->input('inviterInfo', '');

所以我们在存储时,直接存储 $data 就可以;

如果想要存储邀请人的信息,使用 $data['inviterInfo']->$inviterInfo 后再去存储,就可以存上去了。

all() 实现方式:

我们通过Request的 all 方法获取表单数据,并存储到$data变量中。

$data = $request->all()

我们通过这种方法获取过来的数组其实是这个样子的:

array:3[

"_token" => "iuQna*************************"

"userInfo" => array:3 [

"nickname" => "trail"

"passwd" => "123qwe"

]

"inviterInfo" => "admin"

]

所以,我们如果直接存储 $data 是存不到用户信息注册表(table usersInfo)里面的。

那其实我们如果想要完成上面的操作,只需要在存储的时候使用 $data['userInfo'] 来存储用户的注册信息就可以;

外加使用 $data['userInfo']['inviterInfo']->$data['inviterInfo'] 后再去存储,就可以存储的时候把邀请人的信息也存上。

PS:

那坑呢其实就是存储的时候,如果用 all() 方法获取过来的数据,一定要记得它是一个多维数组,

如果单纯的直接存 $data ,是存不上的,需要注意一下。

参考资料: Laravel 官方文档(https://laravel.com/docs/5.5)

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20171225G0WT8R00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券