【发布时间】:2020-08-08 05:59:12
【问题描述】:
我正在使用 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>
我认为这个问题有点愚蠢,但我被阻止了,我需要一些帮助!
谢谢。
【问题讨论】:
标签: laravel api controller laravel-blade