In Laravel 5.5 Ich versuche, eine kleine Anwendung zu schaffen, um Produkte von ein paar Verkäufer/Läden zu verwalten.Laravel Eloquent Beziehung Problem für mehrere Tabellen
Daher habe ich vier verschiedene Modelle wie folgt aus:
Seller.php
class Attribute extends Model
{
public function items()
{
return $this->belongsToMany(Item::class);
}
}
item.php
class Item extends Model
{
public function seller()
{
return $this->belongsTo(Seller::class);
}
public function category()
{
return $this->belongsTo(Category::class);
}
public function attributes()
{
return $this->belongsToMany(Item::class);
}
}
category.php
class Category extends Model
{
public function items()
{
return $this->hasMany(Item::class);
}
}
Attribut. php
class Attribute extends Model
{
public function items()
{
return $this->belongsToMany(Item::class);
}
}
Für die many-to-many-Beziehung zwischen Attributen & Artikel, I einer Pivot-Tabelle erstellt:
Schema::create('attribute_item', function (Blueprint $table) {
$table->integer('attribute_id')->unsigned()->index();
$table->foreign('attribute_id')->references('id')->on('attributes')->onDelete('cascade');
$table->integer('item_id')->unsigned()->index();
$table->foreign('item_id')->references('id')->on('items')->onDelete('cascade');
$table->primary(['attribute_id', 'item_id']);
});
Das Ziel der gesamten Anwendung ist:
- holen alle Artikel eines Verkäufers nach Kategorie mit Attributen (zum Filtern oder etwas)
- Holen Sie sich einen bestimmten Artikel eines Verkäufers und erhalten Sie deren Attribute und Kategorie
Ich bin ein wenig verwirrt von Laravels Relationhip-Methoden und welche in diesem Fall zu verwenden.
Mai ist es besser zu hasManyThrough
oder polymorphe Beziehungen?
Ich muss zugeben, dass ich hier ein kleines logisches Problem habe. Hoffentlich kannst du mir helfen.
Vielen Dank!
Was ist Ihr Benutzermodell? –
Sorry, vielleicht habe ich es ein bisschen verwirrend beschrieben. Mit "Benutzer" meine ich das Verkäufermodell –