Laravel Collection Diff не возвращает разницу между двумя коллекциями - PullRequest
0 голосов
/ 31 августа 2018

Я пытаюсь получить разницу между двумя коллекциями с функцией 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);

и возвращается

result

Нужна помощь, спасибо.

1 Ответ

0 голосов
/ 07 февраля 2019

2 коллекции одинаковы. Это массив с одним элементом, который содержит в себе другой массив. Метод diff сравнивает коллекцию, чтобы увидеть основные элементы, и обнаруживает, что оба являются массивами с 1 элементом. Вот почему нет различий.

Вы должны снять квадратные скобки [] при создании коллекции.

есть. $col2 = collect($data['erp_data']);

...