Skip to content
Advertisement

Why do I get Trying to get property ‘username’ of non-object while “owner_user” has information in it?

HTML Code

@foreach($posts as $post)
    <div class="container card mt-2" style="width: 32rem;">
    <img src="{{ asset('images')."/".$post->img_url }}" class="card-img-top" alt="img not found">
        <div class="card-body">
            <h5 class="card-title">{{ $post->champion }} </h5>
            <p class="card-text">{{ $post->owner_user->username }}</p>

        </div>
    </div>
@endforeach

Laravel code

    public function testpage()
    {
        return Posts::with(['OwnerUser','like'])->get();   
    }

when I just return Posts table, it has column owner_user with user information in it. relations work, but somehow I get “Null” as a result in {{ $post->owner_user->username }} when I return it in HTML code.

Advertisement

Answer

because that is not a single object try

@foreach($posts as $post)
    <div class="container card mt-2" style="width: 32rem;">
    <img src="{{ asset('images')."/".$post->img_url }}" class="card-img-top" alt="img not found">
        <div class="card-body">
            <h5 class="card-title">{{ $post->champion }} </h5>
            <p class="card-text">@(foreach  $post->owner_user as $user){{$user->username }}@endforeach</p>
        </div>
    </div>
@endforeach
User contributions licensed under: CC BY-SA
1 People found this is helpful
Advertisement