Laravel обрабатывает сложный запрос - PullRequest
0 голосов
/ 03 сентября 2018

У меня есть запрос, который отправляет 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 голосов
/ 03 сентября 2018

Попробуйте этот код

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

dd($result);
...