Laravel处理复杂的请求

时间:2018-09-03 15:37:57

标签: php laravel dingo-api

我有一个将FormData发送到我的API的请求。

它具有以下结构:

image: file type image;
text: 'some long string';
array: ['string', 'string'];
data: [
  { field: 'string', link: 'url' },
  { field: 'string', link: 'url' },
]

我成功地处理了前三个输入,但坚持了最后一个。

Laravel以字符串数组而不是对象数组的形式接收它。

我既无法通过$request->data->field也无法通过$request->data['field'}访问字段

我也尝试使用json_decode,但是返回null

更新#1

array(4) {
  ["text"]=>
  string(17) "asdajsklfsdnfnads"
  ["array"]=>
  array(2) {
    [0]=>
    string(6) "sadasd"
    [1]=>
    string(6) "safsdf"
  }
  ["data"]=>
  array(2) {
    [0]=>
    string(39) "{link: "http://sdf.sdf", field: "asfd"}"
    [1]=>
    string(44) "{link: "http://sdf.sasdf", field: "asasdfd"}"
  }
  ["image"]=>
  object(Illuminate\Http\UploadedFile)#787 (7) {

1 个答案:

答案 0 :(得分:0)

尝试此代码

$result = [];
foreach($request->data as $data) {
   $object = json_decode($data);
   $result[] = $object;
   // $object['filed'] you can access in field attribute 
}

dd($result);