【发布时间】:2020-04-20 14:05:16
【问题描述】:
我需要从表 corporate_objectives 中提取两列 name 和 score 并将其放入我的图表中。我有两种不同的行为,我似乎无法得到我想要的结果。
第一个代码
$getNameAndScore = CorporateObjective::pluck('name');
foreach($getNameAndScore as $key => $item) {
$corporateObjective[] = [$item, '('.$key.'%)'];
}
结果:
"xAxis": [
[
"PEOPLE DEVELOPMENT",
"(0%)"
],
[
"OPTIMUM SYSTEMS AND PROCESSES",
"(1%)"
],
[
"CUSTOMER MANAGEMENT",
"(2%)"
],
[
"REVENUE GROWTH",
"(3%)"
]
],
第二个代码
$getNameAndScore = CorporateObjective::pluck('name', 'score');
foreach($getNameAndScore as $key => $item) {
$corporateObjective[] = [$item, '('.$key.'%)'];
}
结果:
"xAxis": [
[
"REVENUE GROWTH",
"(25%)"
]
],
我在第一个代码中得到了所有正确的 name 但不正确的 score。在我的第二个代码中,我得到了正确的name 和score,但所有数据都没有被提取出来。我想用第二个代码中所有正确的score 来实现第一个代码。
编辑: 这就是我的数据库的样子
id | name | score
1 PEOPLE DEVELOPMENT 25
2 OPTIMUM SYSTEMS AND PROCESSES 25
3 CUSTOMER MANAGEMENT 25
4 REVENUE GROWTH 25
除了pluck,还有其他方法吗?似乎pluck 合并/过滤了具有相同值的所有数据。
【问题讨论】:
-
laravel.com/docs/7.x/collections#method-pluck
$getNameAndScore->all()返回什么? -
第一个和第二个代码的输出相同。我想我明白了,所有其他四个都有相同的 25%
score所以所有分数都合并了。有没有办法不将它们合并到pluck中?我将编辑我的问题。
标签: laravel