collections - Laravel 合并集合信从 4.0 升级到 4.1 时出错

标签 collections laravel merge laravel-4

后来升级Laravel版本时发现Collection::merge方法不太好用。

不确定这是不是我的问题,我找不到错误。让我们看一些信息:

print_r($ecb->count());
print_r($boc->count());

// merge both
$cubes = $ecb->merge($boc);

print_r($cubes->count());
dd();

输出:

36 27 1

合并应该给出类似的输出 36 + 27(集合上没有重复的元素)

更多调试信息:

print_r($ecb->toArray());
print_r($boc->toArray());

// merge both
$cubes = $ecb->merge($boc);

print_r($cubes->toArray());
dd();

输出(有点长):http://laravel.io/bin/PdVj1#7

有什么想法吗? 谢谢

最佳答案

是的 - 它似乎在 4 和 4.1 之间发生了变化

查看此 Github 问题:https://github.com/laravel/framework/issues/3445

本质上,Eloquent 集合在合并时会删除具有重复主键的模型。

我正在运行 Laravel 4.1.29 - 我使用 count() 得到了不同的输出 - 但本质上它只是删除了重复的 id。

关于collections - Laravel 合并集合信从 4.0 升级到 4.1 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23788353/

相关文章:

php - Laravel + Eloquent ORM : HasManyThrough OrderBy TableC. column2

php - 使用 laravel 连接多个表

javascript - 如何唯一合并两个 JSON 文件?

java - 无法在 Java 中使用 List 类进行向下转换

C# Linq System.Linq 和 System.Collections 之间的模糊调用

sqlite - laravel开发环境sqlite数据库不存在

r - 合并两个 data.frames 并替换

sql-server - 合并语句和触发器 SQL Server 2012

c# - 检查集合是否为空

java - 如何获取传递的集合<通用类型>的子集合,其中成员扩展或实现另一个集合?