Laravel Collection Diff не возвращает разницу между двумя коллекциями
Я пытаюсь получить разницу между двумя коллекциями с помощью функции diff laravel, но не знаю, почему он всегда возвращает 0 разностных элементов, хотя $col1 содержит 6 элементов, а $col2 содержит 5 элементов, Мой код:
$col1=collect([$data['result']->items()]);
$col2=collect([$data['erp_data']]);
$diff=$col1->diff($col2);
dd($col1,$col2,$diff);
и он возвращается
Нужна помощь, спасибо.
0 ответов
2 коллекции одинаковы. Это массив с одним элементом, который содержит в себе другой массив. diff
Метод сравнивает коллекцию, чтобы увидеть основные элементы, и обнаруживает, что оба являются массивами с 1 элементом. Вот почему нет различий.
Вы должны удалить окружающие квадратные скобки []
на создание вашей коллекции.
то есть. $col2 = collect($data['erp_data']);