Я использую Discord API, чтобы члены гильдии Discord отображали 10 случайных пользователей и отображали их в виде с лезвием, используя метод foreach
.
Я получаю JSON из API, получая из него массив members и собирая его так, чтобы он возвращал только 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>
Я думаю, что проблема вроде тупая, но я заблокирован, мне нужна помощь!
Спасибо.