【发布时间】:2021-11-23 18:16:59
【问题描述】:
代码
$drillDownChart = Loan::select('loan_type AS name')
->groupBy('loan_type')
->where('transaction_year', $transyear)
->where('invalid', false)
->get();
$drillDownChart->map(function($val)use($loanChartArr) {
$val->id = $val->name;
$val->data = $loanChartArr;
return $val;
});
输出 var_dump(json_encode($drillDownChart));
string(340) "[{"name":"Hospitalization","id":0,"data":[[1,0],[2,0],[3,0],[4,0],[5,2],[6,1],[7,3],[8,1],[9,1],[10,0],[11,0],[12,0]]},{"name":"Salary","id":0,"data":[[1,0],[2,0],[3,0],[4,0],[5,2],[6,1],[7,3],[8,1],[9,1],[10,0],[11,0],[12,0]]},{"name":"Emergency","id":0,"data":[[1,0],[2,0],[3,0],[4,0],[5,2],[6,1],[7,3],[8,1],[9,1],[10,0],[11,0],[12,0]]}]"
$val->id = $val->name; 应该返回“Hospitalization”、“Salary”和“Emergency”,但它返回 0。请注意,如果我将“id”更改为“ID”,它会显示正确的输出。
$drillDownChart->map(function($val)use($loanChartArr) {
$val->ID = $val->name;
$val->data = $loanChartArr;
return $val;
});
输出:
string(373) "[{"name":"Hospitalization","ID":"Hospitalization","data":[[1,0],[2,0],[3,0],[4,0],[5,2],[6,1],[7,3],[8,1],[9,1],[10,0],[11,0],[12,0]]},{"name":"Salary","ID":"Salary","data":[[1,0],[2,0],[3,0],[4,0],[5,2],[6,1],[7,3],[8,1],[9,1],[10,0],[11,0],[12,0]]},{"name":"Emergency","ID":"Emergency","data":[[1,0],[2,0],[3,0],[4,0],[5,2],[6,1],[7,3],[8,1],[9,1],[10,0],[11,0],[12,0]]}]"
这里有什么问题?在这种情况下,“id”是否仅限于在 laravel 中使用?请帮忙。谢谢。
【问题讨论】:
标签: php arrays laravel laravel-5.8