首页 > 解决方案 > Laravel 为 foreach() 问题提供的参数无效

问题描述

我正在尝试从网站主页上的 Steam 服务获取内容列表。但我得到一个错误:Invalid argument supplied for foreach()

我的刀片:

            @foreach(json_decode($giveaway->items) as $item)
            <img class="giveaway-item-img" src="https://steamcommunity-a.akamaihd.net/economy/image/class/570/{{$item->classid}}">
            </div>

        <div class="giveaway-item-name">{{$item->name}}</div>
        @endforeach

我的控制器:

    #GiveAway
    $kolvo=\DB::table('giveaway_items')->where('status',0)->orderBy('id', 'desc')->count();
    $giveaway = Giveaway::orderBy('id', 'desc')->first();
    $giveaway_users = \DB::table('giveaway_users')
        ->where('giveaway_id', $giveaway->id)
        ->join('users', 'giveaway_users.user_id', '=', 'users.id')
        ->get();

    $game = Game::orderBy('id', 'desc')->first();
    $items = PagesController::sortByChance(json_decode(json_encode($this->_getInfoOfGame($game))));

但每次我得到错误。可能是什么问题,如何解决错误?

标签: phplaravel

解决方案


请使用此代码

@foreach (json_decode($giveaway->items?:"{}") as $item)

我认为 $giveaway->items 的值是 Null


推荐阅读