gpt4 book ai didi

php - CakePHP 返回 find ('all' ) 使用 'id' 作为数组索引

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:59:05 24 4
gpt4 key购买 nike

因此,我尝试使用“产品”的 ID 作为每个产品的索引键来返回一个查找“全部”数组。

通常它返回:

array(
(int) 0 => array(
'Product' => array(
'id' => '1232',
'category_id' => '330',
'name' => 'Product #1',
)
),
(int) 1 => array(
'Product' => array(
'id' => '1245',
'category_id' => '310',
'name' => 'Product #2',
)
),
(int) 2 => array(
'Product' => array(
'id' => '1248',
'category_id' => '312',
'name' => 'Product #3',
)
)
)

而理想情况下我希望它返回:

array(
(int) 1232 => array(
'Product' => array(
'id' => '1232',
'category_id' => '330',
'name' => 'Product #1',
)
),
(int) 1245 => array(
'Product' => array(
'id' => '1245',
'category_id' => '310',
'name' => 'Product #2',
)
),
(int) 1248 => array(
'Product' => array(
'id' => '1248',
'category_id' => '312',
'name' => 'Product #3',
)
)
)

这可能吗?我该怎么做?

我有一个记录的 Excel 电子表格,我需要将 ID 与之匹配,所以目前我让它迭代每个电子表格行并执行“第一次”查找以获得任何结果,然后在结果出现时对其采取行动。

它有效,但记录集已增长到超过 28000,因此对每个记录集执行一次查找会产生明显的开销。

如果我可以简单地在“查找”操作中执行此操作,那就太好了,否则,我们将不胜感激任何显着的性能提升。

最佳答案

你可以在find all之后得到这样的结果:

$result = Hash::combine($data, '{n}.Product.id', '{n}.Product');

其中 $data 是 find all 的结果。

关于php - CakePHP 返回 find ('all' ) 使用 'id' 作为数组索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27147482/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com