- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在使用 Laravel Collections 方法,并试图通过 id 来键入我的查询结果(这是一个集合)。问题是我有多个具有相同 ID 的条目,但指向不同的国家,我想拥有所有的值,而不仅仅是最后一个。
这是我目前使用的代码:
$allCountries = new Collection($allCountries);
$offerCountries = $allCountries->keyBy('id');
dd($offerCountries);
foreach ($offer as $o) {
$o->countries = $allCountries->get($o->id);
}
解释一下,我的查询将结果放在包含 ID 和国家/地区的 $allCountries 中,这些结果看起来像这样
id=>225, country=>US
id=>225, country=>IT
id=>3304, country=>NZ
只是给你一个快速的想法。我想通过导致 $offerCountries 的 id 键入它。然后我循环遍历以前的集合,其中包含具有特定 ID 的报价,该 ID 通过 id 与国家/地区结果相关。所以对于报价 225,它包含的国家是美国和意大利。我遍历每个报价并将国家对象设置为等于它等于的所有 $allCountries id。我这里的问题是 keyBy 覆盖了值,只取最后一个。我希望得到这样的结果:
[
225 => countries: {'id' => 225, 'country' => 'US'}, {'id' =>
'225', 'country' => 'IT'}
3304 => ['id' => 3304, 'country' => 'NZ'],
]
是否有 laravel 方法来执行此操作,或者我是否需要编写自己的 keyBy 以便它不会覆盖。如果是这样,我该如何开始编写此方法?
谢谢
最佳答案
不使用keyBy
,而是使用groupBy
:
$countriesById = collect($allCountries)->groupBy('id');
关于php - 如何在多个项目具有相同 key 的情况下使用 KeyBy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33396605/
1.概述 转载并且补充: flink keyby 分布不均匀问题 我使用随机数random.nextint(8)作为key,生成keyedstream之后,直接sink到存储中,但是sink算子只有四
我有一个对象数组,我想将它转换为以 id 为键的键值对映射。但是,我想在根级别和 recipes 属性中执行此操作。 数组resp: [ { "id": "1", "recipes
我有一个数组,我想将其转换为一个对象。例如: const arr = [{id: 1, key: ''}, {id: 2, key: ''}]; 我想要的结果是: const object = { 1
是否有使用 lodash 实现此目的的简单方法? _.something([{a: 3, b: 4}, {a: 3, b: 5}, {a: 10}], 'a') => { 3: [ {a: 3, b:
在 Java Spark 中,我可以使用 keyBy() 或 mapToPair() 为 JavaRDD 创建一些键。使用 keyBy() 使我的意图更加清晰,并使用更少代码的参数函数(该函数返回一个
我正在使用 Laravel Collections 方法,并试图通过 id 来键入我的查询结果(这是一个集合)。问题是我有多个具有相同 ID 的条目,但指向不同的国家,我想拥有所有的值,而不仅仅是最后
我想通过以下方式修改关系的结果集 我有这个数组 array:11 [▼ "id" => 1 "user_id" => 1 "name" => "Test Case
我正在开发一个项目,使用 Laravel 设置后端 RESTful API,使用 angularJS 设置前端。 我从我的 Controller @index 返回简单 all()->toArray(
进入 Flink job 的数据可能会因为代码中的错误或缺乏验证而触发异常。我的目标是提供一致的异常处理方式,我们的团队可以在 Flink 作业中使用这些方式,而不会导致生产中断。 重启策略似乎不适用
我创建了一个命令,并尝试查询我的数据库并按键对结果进行分组,但我不断收到此错误: In Builder.php line 2512: Method Illuminate\Database\Quer
这是我想在 Apache Flink 中执行的操作: 输入DataStream然后按字段键 x然后做一个每分钟滑动一次的 15 分钟窗口,聚合每个键的结果 ( x ),然后将所有这些聚合聚合到一个列表
我正在使用 Flink 1.4.2,我有一个场景需要使用两个键。 例如 KeyedStream keyedStream = stream.keyBy("clusterId", "ssid"); usa
我正在尝试通过尽可能避免洗牌来优化我的 Spark 工作。 我正在使用 cassandraTable 创建 RDD。 列族的列名是动态的,因此定义如下: CREATE TABLE "Profile"
例如,假设我的数组中有一些用户对象: [{name: "Bob", ID: "123", location: "Texas"}, {name: "Jill", ID: "124", location
说我有这个数据集 test test[, X, keyby = .(X)] X X 1: 1 1 > test[, Y == "a", keyby = .(X)] X V1 1: 1
我是一名优秀的程序员,十分优秀!