Когда вы делаете это:
$eventi = \App\Model::with('relation_1', 'relation_2')
->orderBy('data_ora', 'desc')
->take(10)
->get();
Вы получаете Collection
объект, содержащий эти значения. ключи значений в базовом массиве будут числовыми, т.е. 0, 1, 2, ... 9
. Теперь, когда вы делаете:
$eventi = \App\Model::with('relation_1', 'relation_2')
->orderBy('data_ora', 'desc')
->take(10)
->get()
->reverse();
Вы получаете ту же коллекцию обратно, в обратном порядке. Метод reverse
создает новую коллекцию , но сохраняет ключи исходной коллекции. Таким образом, в этом случае вы увидите последний элемент, первый, и ключи будут 9, 8, 7, ... 0
. В PHP, если ваши ключи массива не являются целыми числами, в порядке возрастания, начиная с 0
, предполагается, что это ассоциативный массив. Поэтому, когда вы выводите свою коллекцию в формате JSON, вы видите ее в виде объекта.
Чтобы игнорировать ключи в коллекции, используйте values
, чтобы создать новую коллекцию (с возрастающими цифровыми ключами, например, 0, 1, 2, ... 9
), только со значениями начального коллекция:
$eventi = \App\Model::with('relation_1', 'relation_2')
->orderBy('data_ora', 'desc')
->take(10)
->get()
->reverse()
->values();