Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

Rafazion's avatar

Trying to get property of non-object

My quizzes ->index.blade.php

@extends('layout.partials.table')

@section('filters') @include('layout.partials.filters.search') @stop

@section('table') {!! sort_by('admin.quizzes.index', 'id', trans('messages.id')) !!} {!! sort_by('admin.quizzes.index', 'game_name', 'Game') !!} {!! sort_by('admin.quizzes.index', 'player_id', 'Minigame') !!}

    <!-- <th>{!! sort_by('admin.quizzes.index', 'player_id', 'Id do Jogador') !!}</th> -->
    <th>Matrícula do Jogador</th>
    <th>Nome do Jogador</th>
    
    <th class="text-center" width="100">{!! sort_by('admin.quizzes.index', 'match_start', 'Jogado em') !!}</th>     
    <th class="text-center" width="100">#</th>
</tr>
@foreach ($results as $quiz)
<tr>
    <td class="text-center"><input type="checkbox" name="ids[]" value="{{ $quiz->id }}" class="chbids" /></td>
    <td class="text-center">{{ $quiz->id }}</td>
    <td>{{ $quiz->game_name }}</td>
    <td>{{ $quiz->minigame_name }}</td>
    <td>{{ $quiz->player->enrollment }}</td>
    <td>{{ $quiz->player->name }}</td>
    <td class="text-center"><?php echo date_format(date_create($quiz->match_start), 'd/m/Y'); ?></td>
    <td class="text-center">
        <a href="{{ route('admin.quizzes.show', $quiz->id) }}" class="btn btn-xs btn-success"><i class="fa fa-eye"></i></a> 
        <!--
        <a href="{{ route('admin.quizzes.edit', $quiz->id) }}" class="btn btn-xs btn-warning"><i class="fa fa-pencil"></i></a>
        -->
    </td>
</tr>
@endforeach

@stop

Error in {{ $quiz->player->enrollment }} {{ $quiz->player->name }}

I don't know how to fix this, anyone help me?

0 likes
2 replies
bobbybouwmann's avatar
Level 88

Well the quiz probably doesn't have a connected player, try this

@if ($quiz->player) // This will return null if there is no player available
    <td>{{ $quiz->player->enrollment }}</td>
    <td>{{ $quiz->player->name }}</td>
@endif

Please or to participate in this conversation.