Ich habe 3 Tabellen: company
& lt; - & gt; users
& lt; - & gt; invoice
.
Eine Firma hasMany
users.
Ein Benutzer belongsTo
ein Unternehmen und ein Benutzer hasMany
Rechnungen.
Eine Rechnung belongsTo
ein Benutzer.
Jetzt habe ich eine Rechnung mit Informationen über den Benutzer (Kunden), und ich möchte dem Benutzer seine Informationen über das Unternehmen geben, also habe ich ein:
gemacht Eine Rechnung hasManyThrough
Benutzer, Firma (erhält also die Firma über den Benutzer)
Jetzt funktioniert es nicht so wie es benötigt wird.
Modelle:
%Vor%Rechnungsprüfer:
%Vor% Die dd ($ rechnungen) geben ein BadMethodCallException
Call to undefined method Illuminate\Database\Query\Builder::company()
Weitere benötigte Informationen können zur Verfügung gestellt werden!
Nehmen wir an, wir haben Tabelle A und B und C wo Tabelle A viele von B (OneToMany) hat und B viele C (OneToMany) hat Um auf die Tabelle C von Tabelle A zuzugreifen, können Sie die Laravel-Verknüpfung (HasManyThrough) auf der Tabelle A verwenden, und das Problem ist gelöst
ABER Wenn Sie Tabelle A und B und C haben wo Tabelle A viele von B (OneToMany) hat und B viele C (ManyToMany) hat Sie können die Verknüpfung von Laravel (HasManyThrough) nicht verwenden, um auf die Tabelle C von Tabelle A zuzugreifen {aufgrund der Pivot-Tabelle in der Mitte zwischen B und C}, was Sie in diesem Fall tun können, ist sehr einfach:
In diesem Beispiel wird Tabelle A [Kurse], Tabelle B [Kapitel] und Tabelle C [Videos] sein. wo jeder Kurs Kapitel hat, während ein Kapitel nur zu einem Kurs gehören kann. Auf der anderen Seite hat jedes Kapitel viele Videos, während ein Video zu vielen Kapiteln gehören kann.
%Vor% %Vor% %Vor%