Cakephp collection 如何获取数组索引?

Cakephp collection how can I get array index?

这是我的collection数据

[
   0 => object(App\Model\Entity\SummaryCoin) id:0 { 'user_id' => (int) 2
'total_sum_coin' => (float) 3 },
   1 => object(App\Model\Entity\SummaryCoin) id:1 { 'user_id' => (int) 1
'total_sum_coin' => (float) 33 },
]

如何获取 user_id = 1

的索引

使用第一个匹配项,我可以获得新的用户 1 collection

$sumOfUserCoins = $collection->firstMatch([
    'user_id' => 1
]);

我如何获得用户拥有的数组索引 1

对此没有特定的方法,您必须有点创意才能获取该信息,例如匹配所有而不是这样您会得到一个集合,将第一个条目之外的所有内容都拿走,并且将其转换为保留键的数组,然后您可以从中获取该信息:

$userCoins = $collection
    ->match(['user_id' => 1])
    ->take(1)
    ->toArray();

$index = key($userCoins);
$coin = current($userCoins);