Mein Projekt funktioniert gut auf dem lokalen Host, aber auf dem Server, Fehler nur auf der Lektionsseite erhalten.Laravel Beziehung funktioniert nicht auf Server
Gegenstand Modell ist
class Subjects extends Model
{
public function category()
{
return $this->belongsTo('Lea\Category');
}
public function lesson()
{
return $this->hasMany('Lea\Lessons');
}
public function chapter()
{
return $this->hasMany('Lea\Chapters');
}
public function users()
{
return $this->belongsToMany('Lea\User', 'subject_user', 'subject_id', 'user_id');
}
}
Und Lektion Modell ist
class Lessons extends Model
{
public function chapter()
{
return $this->belongsTo('Lea\Chapters');
}
public function subject()
{
return $this->belongsTo('Lea\Subjects', 'subject_id');
}
public function category()
{
return $this->belongsTo('Lea\Category');
}
}
Mein Controller Lektionen Methode Index wie unten hat.
public function index()
{
$lessons = lessons::orderBy('id', 'asc')->paginate(5);
return view('admin.lessons.index')->withLessons($lessons);
}
Die Art und Weise, wie ich den Betreff-Namen anrufe, ist unten angegeben. Das erste Subjekt ist das Beziehungssubjekt und das zweite Subjekt ist der Feldname, in dem der Subjektname in db gespeichert ist. foreach erhalten Daten wie:
@foreach ($lessons as $lesson)
{{$lesson->subject->subject}}
@endforeach
Themen Tabellenschema
id
subject
admin_id
users_id
category_id
created_at
updated_at
Lektionen Tabellenschema
id
title
slug
category_id
subject_id
chapter_id
users_id
content
image
Was in Ihren Tabellen Feldnamen sind? Ist es möglich, dass Sie der gleichen Logik wie subject_id und subject_user gefolgt sind und tatsächlich das Feld "subject_name" benannt haben? Das Problem scheint in Ihrer Betreff-Tabelle – Luke
zu sein, wenn der Feldname ein Problem ist, dann sollte es mir eine json-Ausgabe geben, die diesen Code {{$ lesson-> subject}} setzt, aber ich bekomme null auf dem Server, aber json auf localhost –
beharrst du das $ lektionsobjekt für deine Ansicht durch deinen Controller? – Luke