Ich versuche, eine Laravel-App mit einer benutzerdefinierten Datenbankstruktur zu erstellen. Ich habe Tabellen types
, units
, content
, und eine Pivot-Tabelle namens relations
. Die Struktur der relations
Tabelle ist so:Eloquent ORM/Laravel - benutzerdefinierte Pivot-Tabellenstruktur verwenden
---------------------------------------------
| id | relation_type | first_id | second_id |
---------------------------------------------
| 1 | type_unit | 1 | 2 |
---------------------------------------------
| 2 | unit_content | 2 | 3 |
---------------------------------------------
Mit anderen Worten, die ersten drei Tabellen haben viele-zu-viele Beziehungen untereinander und die vierte ist die Pivot-Tabelle für alle Beziehungen. Wie kann ich die Methode BelongsToMany
von Eloquent mit dieser Pivot-Tabellenstruktur verwenden, d. H. Wie kann ich nur die Datensätze der Pivot-Tabelle auswählen, die für die gegebene Relation relevant sind? Zum Beispiel, wie würde verwende ich nur die type_unit Beziehungen in dieser:
class Type extends Eloquent {
public function units()
{
return $this->belongsToMany('Unit', 'relations');
}
}
aber zugleich die unit_content Beziehungen ignorieren?
Umut du bist ein Star, danke! –
Ich bin froh, dass ich helfen konnte. :) –