Laravel-запрос является массивом, но не распознается count () - PullRequest
0 голосов
/ 24 мая 2019

Я передаю массив в контроллер через запрос axios.post.Я пытаюсь получить длину массива $ request, который я передаю контроллеру.Тем не менее, я продолжаю получать сообщение об ошибке «Параметр должен быть массивом или объектом, который реализует счетную».

Вот как выглядит мой массив:

array (
  0 => 
  array (
    'text' => 'It is this',
    'question_id' => 98,
  ),
  1 => 
  array (
    'text' => 'And it is that',
    'question_id' => 98,
  ),
  2 => 
  array (
    'text' => 'Also a little bit of this',
    'question_id' => 98,
  ),

Вот что я пробовал:

$count = sizeof($request));

$count = $request->length;

$count = count($request);

Единственное, что имело хоть немногоуспех делает:

$count = count($request[0])

Возвращает 2, что относится к элементам внутри первого массива.Он считает текст, и question_id.Хотя это хороший прогресс, это не то, что я хочу

То, что я хотел бы видеть, это иметь длину всего объекта $ request.В приведенном выше примере я хотел бы получить 2 (конец 0,1,2) или 3 (счет 0,1,2).

Ответы [ 2 ]

2 голосов
/ 24 мая 2019

Если $request является Illuminate\Http\Request, оно не будет учитываться напрямую.

Вы можете рассчитывать $request->all() или $request->input(), хотя.

1 голос
/ 24 мая 2019

А как же:

count($request->all());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...