如何从laravel Reuqest对象中选择特定项目而不转换为Array

时间:2019-05-12 11:08:01

标签: laravel request

我想从laravel请求对象中选择一个或多个特定项目,然后再次将其发送到其他方法,而无需转换为Arrat

例如:

我的请求项:

[
  "product_id", 
  "item1", 
  "item2", 
  "user" => [
       "id",
       "name",
       "family" 
  ]
]

我有一个类型提示类似的方法:

getProduct(Request $request){
  // only need to Product items

  // step tow 
// it i use $requedt->only("user") $reuest convert to Array!
  $this->userOfProduct($request)
}

还有另一种方法,例如get


userOfProduct(Request $reuest){
/// on this step font neet do procuct items on my request!

 user_id = $request["id"];
 user_name = $request["name"];
 user_family = $request["family"];
}

有什么问题:

我不能使用$ request-> only(“ user”),因为这会将$ request模型转换为数组!

我为什么要这样做?

我从应用程序的另一个位置使用了userOfProduct方法,因此我应该从Request对象中仅获取$ request [“ id”],如果我使用类似$ request [“ user”]-> id之类的方法,当我在另一个地方使用我的应用程序时,此方法不起作用

现在:如何从我的请求模型中选择用户项目,然后再次将请求对象发送到我的userOfProduct方法,而无需转换为Array

1 个答案:

答案 0 :(得分:0)

$request->input('user')将为您提供用户,您可以执行$request->input('user')['name']获取用户名。