douxiong3245 2016-05-14 01:37
浏览 133
已采纳

如何绕过Undefined offset:1 - Laravel 5.2

I'am working on a API right now, and I'm on a part where I have to get a Players last matches score. Usually there are ATLEAST 2 teams in every match OR more. But I came across a playlist where there is only 1 team for the whole match.

I'am calling for the score of both teams like this:

        // Get the Score AND Team ID of First team
        $Warzonescore = $warzoneLastMatch->TeamStats[0]->Score;
        $WarzonescoreTeamId = $warzoneLastMatch->TeamStats[0]->TeamId;


        // Get the Score AND Team ID of Second team
        $Warzonescore2 = $warzoneLastMatch->TeamStats[1]->Score;
        $Warzonescore2TeamId = $warzoneLastMatch->TeamStats[1]->TeamId;

My problem is, in some matches, there is only 1 team, and if I load up a plyers gamertag, and if that person only played a match with one kind of team ( all players are on the same team), it gives me this error:

Undefined offset: 1

because TeamStats[1] does not exist for that player.

How can I get around that API call and check if that value is null, or if it exists?

I tried to insert it into a (if else) statement, and checked with ( ->exists(), === null, != 0, != "")

  • 写回答

1条回答 默认 最新

  • dryb38654 2016-05-14 01:58
    关注

    Doesn't make sense to hardcode your accessor methods in this way when you can do a simple loop on TeamStats

    $Warzonescores = [];
    foreach($warzoneLastMatch->TeamStats as $idx => $stats){
        $Warzonescores[$idx]['Score'] = $stats->Score;
        $warzonescores[$idx]['TeamId'] = $stats->TeamId
    }
    

    This seems like a more efficient and clean way to go about your approach. As it's an API, you can now do a simple and safe return on your data

    return response()->json($Warzonescores);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 西门子S7-Graph,S7-300
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改