php - 使用 Laravel Collection 获取重复值

标签 php laravel laravel-5 laravel-5.2 laravel-5.3

我不想删除重复值,我想获取 articles_id 重复项并将它们的数量值相加,例如,这是我的收藏:

Collection {#306 ▼
  #items: array:3 [▼
    0 => CartLine {#294 ▼
      +quantity: 2
      +article_id: 1728
      +article_name: "TAZA CERAMICA"
    }
    1 => CartLine {#296 ▼
      +parent_line_id: null
      +quantity: 1
      +article_id: 1728
      +article_name: "TAZA CERAMICA"
    }
    2 => CartLine {#298 ▼
      +quantity: 1
      +article_id: 1378
      +article_name: "JARRA CERVEZA ALEMANA"

    }
  ]
}

我想得到这个结果:

Collection {#306 ▼
  #items: array:3 [▼
    0 => CartLine {#294 ▼
      +quantity: 3 //sum total quantity of the duplicates elements with same article_id
      +article_id: 1728
      +article_name: "TAZA CERAMICA"
    }
    1 => CartLine {#296 ▼
      +parent_line_id: null
      +quantity: 3
      +article_id: 1728
      +article_name: "TAZA CERAMICA"
    }
    2 => CartLine {#298 ▼
      +quantity: 1
      +article_id: 1378
      +article_name: "JARRA CERVEZA ALEMANA"

    }
  ]
}

我想对重复元素的数量求和,并用这些元素的总和设置数量属性。

最佳答案

我知道这个答案已经被接受,但我在搜索相同内容时才发现这篇 StackOverflow 帖子。我最终做的是以下内容。

$users = Users::all();
$usersUnique = $users->unique('id');
$usersDupes = $users->diff($usersUnique);

dd($users, $usersUnique, $usersDupes);

我只需要一次性使用我的,所以我不确定如果您需要在生产页面上使用它会有多高效。

关于php - 使用 Laravel Collection 获取重复值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40888168/

相关文章:

laravel - 将参数传递给整数?

jquery - 无法在 laravel 中进行 ajax 调用

php - 拉维尔 : Dependency injection vs Facades?

php - 在laravel中上传图片并将名称插入数据库

php - 在这种情况下,如何从具有外键的不同 mysql 表中删除数据?

laravel - SMTP:更改从 Laravel 5.7 (Swift Mailer) 发送电子邮件时的 Message-ID 域

javascript - 拉拉维尔 5 : JQuery error

php - 如何让 php 自动扫描并添加按日期排序的文件到下载页面

javascript - 获取同一文件中 PHP 变量中选择框的 HTML 值

php - PDFTk 在本地工作但不在私有(private)服务器上工作