Cakephp 集合如何获取数组索引?

问题描述

这是我的收藏数据

[
   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 个新集合

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

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

解决方法

没有具体的方法,您必须有点创意才能获取该信息,例如匹配全部,以便您取回集合,将除第一个条目之外的所有内容都带走,然后将其转换到保存密钥的数组,然后您可以从中获取该信息:

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

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...