在向结果数据添加/推送新键值时,我遇到了问题,它返回对App\Match重载元素的间接修改。
$结果$key1->teamScore= $results$key->scoreString;
模型匹配方法
public static function getTeamWinLossRecord($competitionId, $teamId) {
$data = [];
$results = self::select(['roundNumber', 'competitors'])
->where('competitionId', $competitionId)
->orderBy('roundNumber', 'desc')
->get()
->map(function($item){
$item['roundNumber'] = $item->roundNumber;
$item['competitors'] = json_decode($item->competitors);
return $item;
});
foreach ($results as $key => $matchArr) {
if( $matchArr['competitors'][0]->competitorId == $teamId || $matchArr['competitors'][1]->competitorId == $teamId){
if($matchArr['competitors'][0]->competitorId == $teamId){
$results[$key]['competitors'][1]->teamScore = $results[$key]['competitors'][0]->scoreString;
array_push($data, ['Rnd '.$matchArr['roundNumber'], $results[$key]['competitors'][1]]);
}
else{
array_push($data, ['Rnd '.$matchArr['roundNumber'], $results[$key]['competitors'][0]]);
}
}
}
dd($data);
}发布于 2017-06-15 06:16:37
像这样替换数组推送,
$data[] = array('Rnd '.$matchArr['roundNumber'], $results[$key]['competitors'][1]]);https://stackoverflow.com/questions/44559678
复制相似问题