Ich habe Haupttabelle Tickets mit einem Fremdschlüssel zu einer anderen Tabelle namens ticket_statuses. Ich möchte das Statusfeld von ticket_statuses nach Fremdschlüssel anzeigen lassen.Wie zu lösen Versuchen, Eigenschaft von Nicht-Objekt in Laravel zu bekommen?
TicketsController.php
<?php
namespace App\Http\Controllers\Users;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use App\Ticket;
use App\TicketStatus;
use App\Models\User;
etc...
class TicketsController extends UserController
{
public function index()
{
$tickets = Ticket::paginate(25);
return view('user.tickets.index', compact('tickets'));
}
}
Ticket.php
class Ticket extends Model
{
// Ticket __belongs_to__ User
public function user()
{
return $this->belongsTo('App\Models\User');
}
public function ticketstatus()
{
return $this->belongsTo('App\TicketStatus');
}
}
TicketStatus.php
class TicketStatus extends Model
{
// Ticket Status __has_many__ Ticket
public function tickets()
{
return $this->hasMany('Ticket');
}
}
index.blade.php
@foreach($tickets as $item)
<tr>
<td>{{ $item->ticket_statuses->status }}</td>
<td>{{ $item->customer }}</td>
<td>{{ $item->user->first_name }} {{ $item->user->last_name }}</td>
<td>
{!! Form::close() !!}
</td>
</tr>
@endforeach
Ich erhalte einen Fehler wegen der Zeile {{$ item-> ticket_statuses-> status}}. Ich versuchte auch {{$ item-> ticketstatus-> status}} Der Fehler ist Versuch, Eigenschaft des Nichtobjektes zu erhalten
Helfen Sie bitte. Danke
Wie lauten die Spaltennamen in Ihrer 'ticket' Tabelle? –
ID, Betreff, customer_id, user_id, _ticket_status_id –
Überprüfen Sie meine Antwort unten. Ich denke, es ist '_ticket_status_id', die diesen Fehler verursacht. –