试图从API中获取json中的非对象属性。

我正在使用Discord API让Discord公会的成员显示10个随机用户,并在视图中使用刀片显示。foreach 方法。

我从API中获取JSON,获取其中的成员数组,并将其剪裁成只返回10个成员,从控制器将其发送到视图。

问题是,当我想解析它并使用数组中的一个元素(avatar_url),但它没有工作,我得到了这个错误信息。Trying to get property 'avatar_url' of non-object

这是我的控制器

class IndexController extends Controller {

    ...

    /**
     * Function to get 10 random players on fivem
     * @return array
     */
    private function getServerPlayers() {
        $request = file_get_contents('https://discordapp.com/api/guilds/683766194884575355/widget.json');
        $decoded = json_decode($request, true)['members'];

        return array_slice($decoded, 0, 10);
    }

    /**
     * Return index view
     * @return Factory|View
     */
    public function index() {

        return view('index')->with('players', $this->getServerPlayers())->with('clients', $this->getServerClients())->with('members', $this->getDiscordMembers());
    }
}

以下是我的看法

<div class="row">
                <div class="col-lg-12">
                    <div class="tab-content" id="pills-tabContent">
                        <div class="tab-pane fade show active" id="pills-all-bets" role="tabpanel"
                            aria-labelledby="pills-all-bets-tab">
                            <div class="responsive-table">
                                <table class="table">
                                    <thead>
                                        <tr>
                                            <th scope="col">Nom du joueur</th>
                                            <th scope="col">Statut</th>
                                        </tr>
                                    </thead>
                                    <tbody>
                                        @foreach($players as $player)
                                        <tr>
                                            <td><img src="{{ $player->avatar_url }}">{{ $player->username }}</td>
                                            <td>En ligne</td>
                                        </tr>
                                        @endforeach
                                    </tbody>
                                </table>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

我认为这个问题是一种愚蠢的,但我对它的封锁,我需要一些帮助!。

谢谢。

解决方案:

您应该使用 avatar_url 像这样。

<td><img src="{{ $player['avatar_url'] }}">{{ $player['username'] }}</td>

因为你传递给view的是一个数组,而不是一个对象。

给TA打赏
共{{data.count}}人
人已打赏
未分类

我如何在ggplot中绘制3个变量分离图?

2022-9-9 9:10:17

未分类

使用 "rtweet"-library的 "search_tweets "功能停止下载。

2022-9-9 9:10:19

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索