mercredi 20 janvier 2016

laravel5.1 retrieve nested relation using eloquent

My table design is:

users: |id|username|...

tickets: |id|supp_id|...

ticket_replies: |id|ticket_id|user_id

My controllers look like:

user:

public function tickets()
{
    return $this->hasMany('App\ticket');
}

ticket:

public function ticket_replie()

    {
        return $this->hasMany('App\ticket_replie');
    }

public function supp_id()
    {
        return $this->belongsTo('App\User', 'id', 'supp_id');
    }

My controller looks like this:

$tickets =  Auth::user()->tickets()->orderBy('status', 'desc')->paginate(2);

return view('protected.ticketsList', [ 
    'tickets' => $tickets,
    ]);

In my view I use:

div class="container">
@if(!$tickets->count() > 0)
no tickets created
@endif
@foreach ($tickets as $ticket)
{{dd($ticket->ticket_replie)}}
    title: {{ $ticket->title}}<br>
    status: {{ returnStatus($ticket->status) }}<br>
    supporter: {{ $ticket->supp_id->username }}
    created: {{ $ticket->created_at }}<br>
@endforeach

Any idea where I do wrong? I get all the time this error:

Trying to get property of non-object...

In my point of view the relation between the tables itself is done correctly.



via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire