Как отсортировать коллекцию в Laravel - PullRequest
1 голос
/ 27 мая 2020

Я выполняю функцию sortBy для сортировки, но не могу использовать ее как отсортированную по For.

$this->journey->journey_item = $this->journey->journey_items->sortBy('activation_date');
dump($journey_items); //// sorted list

for($i = 0;$i < Count($this->journey->journey_item);$i++){
   dump("#".$i." ".$this->journey->journey_item[$i]->activation_date);
}

Когда она вводится в For, она становится несортированной. Где я делаю не так? Что я могу сделать?

Кроме того, я создал новую коллекцию и попытался выровнять ее, опять же, не удалось

1 Ответ

1 голос
/ 27 мая 2020

Попробуйте с foreach. когда вы используете сортировку по коллекции, он сортирует ваш массив, а не key .. как я вижу, вы используете key [$i].

Используйте foreach

foreach($this->journey->journey_item as $journey_item){
   dump($journey_item);
}

Или используйте, как показано ниже.

$this->journey->journey_item = $this->journey->journey_items->sortBy(function ($journey_item) {
    return $journey_item->activation_date;
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...