哈希数组 laravel
Array of hashes laravel
使用Laravel 4.2
使用 Eloquent 查询检索以下数据结构。
[
{
Id: 1,
Product:Test1,
TypeId:100
}
{
Id: 2,
Product:Test2,
TypeId:200
}
{
Id: 3,
Product:Test2,
TypeId:200
}
];
想创建一个基于 TypeId 作为键的哈希映射,以便我可以轻松地搜索产品。想要下面的最终输出方式
{
'100' : {
Id: 1,
Product:Test1,
TypeId:100
},
'200' : [
{
Id: 2,
Product:Test2,
TypeId:200
},
{
Id: 3,
Product:Test2,
TypeId:200
}
]
}
尝试了以下 eloquent 函数,但类型 ID 200 中的重复项将被忽略。
$type_id_hash=$fm->fmmodelitems->keyBy('TypeId');
对于 typeid 200,使用 keyby 函数时只存在一条记录,因为它会忽略重复项。我想在 hashmap 数组中搜索 typeid 之类的键。怎么做到呢。
也许你想要 groupBy
on Collection
:
$grouped = $fm->fmmodelitems->groupBy('TypeId');
这应该将它们归入 'key'。
$collection = new Illuminate\Support\Collection([
['Id' => 1, 'Product' => 'Test1', 'TypeId' => 100],
['Id' => 2, 'Product' => 'Test2', 'TypeId' => 200],
['Id' => 3, 'Product' => 'Test3', 'TypeId' => 200]
]);
$grouped = $collection->groupBy('TypeId');
$grouped->all();
// array(
// 100 => array(
// 0 => array(
// 'Id' => 1,
// 'Product' => 'Test1',
// 'TypeId' => 100
// )
// ),
// 200 => array(
// 0 => array(
// 'Id' => 2,
// 'Product' => 'Test2',
// 'TypeId' => 200
// ),
// 1 => array(
// 'Id' => 3,
// 'Product' => 'Test3',
// 'TypeId' => 200
// )
// )
// )
使用Laravel 4.2 使用 Eloquent 查询检索以下数据结构。
[
{
Id: 1,
Product:Test1,
TypeId:100
}
{
Id: 2,
Product:Test2,
TypeId:200
}
{
Id: 3,
Product:Test2,
TypeId:200
}
];
想创建一个基于 TypeId 作为键的哈希映射,以便我可以轻松地搜索产品。想要下面的最终输出方式
{
'100' : {
Id: 1,
Product:Test1,
TypeId:100
},
'200' : [
{
Id: 2,
Product:Test2,
TypeId:200
},
{
Id: 3,
Product:Test2,
TypeId:200
}
]
}
尝试了以下 eloquent 函数,但类型 ID 200 中的重复项将被忽略。
$type_id_hash=$fm->fmmodelitems->keyBy('TypeId');
对于 typeid 200,使用 keyby 函数时只存在一条记录,因为它会忽略重复项。我想在 hashmap 数组中搜索 typeid 之类的键。怎么做到呢。
也许你想要 groupBy
on Collection
:
$grouped = $fm->fmmodelitems->groupBy('TypeId');
这应该将它们归入 'key'。
$collection = new Illuminate\Support\Collection([
['Id' => 1, 'Product' => 'Test1', 'TypeId' => 100],
['Id' => 2, 'Product' => 'Test2', 'TypeId' => 200],
['Id' => 3, 'Product' => 'Test3', 'TypeId' => 200]
]);
$grouped = $collection->groupBy('TypeId');
$grouped->all();
// array(
// 100 => array(
// 0 => array(
// 'Id' => 1,
// 'Product' => 'Test1',
// 'TypeId' => 100
// )
// ),
// 200 => array(
// 0 => array(
// 'Id' => 2,
// 'Product' => 'Test2',
// 'TypeId' => 200
// ),
// 1 => array(
// 'Id' => 3,
// 'Product' => 'Test3',
// 'TypeId' => 200
// )
// )
// )