我有一些Laravel编码,通常可以正常工作。这是代码:
$total = $registrations->groupBy('admin_year', 'internal_type')
->map(function ($rdw_entries) use ($all_types) {
$tmp_admin_year = $rdw_entries->keyBy('internal_type')->map->counter;
foreach ($all_types as $type) {
if (!isset($tmp_admin_year[$type['internal_type']])) {
$tmp_admin_year[$type['internal_type']] = '';
}
}
$tmp_admin_year = $tmp_admin_year->sortKeys();
$tmp_admin_year['Total'] = $tmp_admin_year->sum();
return $tmp_admin_year;
});
通常$ type包含一个字符串值,在这种情况下,它很完美。但是当我在$ type中有数字内容时,结果键是一个数字值,这破坏了我的序列。 我已经尝试解决了这个问题,但被keyBy语句推翻了。还有语句$ tmp_admin_year [$ type ['internal_type']] =“”;产生键的数值。我在Laravel Collection文档中找不到有关如何将密钥强制为字符串的任何信息。
任何帮助表示赞赏