Проблема в том, что вы пытаетесь объединить коллекцию array_merge.
array_merge примет:
array_merge([1, 2, 3], ['a', 'b', 'c'])
// result -> [1,2,3,"a","b","c"]
Однако он не понимает, как объединять объекты, и коллекция ЯВЛЯЕТСЯ объектом . например)
array_merge([1,2,3], collect(['a', 'b', 'c']))
// Result: 'array_merge(): Expected parameter 2 to be an array, object given...'
Кроме того, просто введите приведение коллекции к массиву, это не даст результатов, которые вы хотите:
array_merge([4,5,6],(array) collect([1,2,3]))
// Result: [0 => 4, 1 => 5, 2 => 6, "\0*\0items" => [1,2,3]]
Если вы хотите сохранить свой код, вы можете использовать :
$result = array_merge($output,$abc->toArray());