Ich habe zwei Tabellen und eine Pivot-Tabelle:Laravel 5.2: Holen Modelle mehr Modelle gehören,
Table1: products
id
name
Table2: categories
id
name
parent
Pivot table: product_categories
product_id
category_id
Relationship between them is:
product belongsToMany category (trough product_categories)
category belongsToMany product (trough product_categories)
, wenn seine Hauptkategorie, als Elternteil 0 ist, ist ansonsten eine ganze Zahl entspricht eine andere Kategorie von id. Ich habe eine Kategorie-ID, die Unterkategorien haben kann oder auch nicht und möglicherweise 0 oder mehr.
Ich brauche die Liste der Produkte der Kategorie und ihrer Unterkategorien. (Wenn keine Kategorie ausgewählt ist, als seine einfach: alle Bedürfnisse Produkte aufgeführt werden)
Zur Zeit habe ich die Liste der IDs der Kategorien in einem Array (oder in einer Sammlung):
$w = [];
$w['parent'] = (!empty($id)?$id:0);
$categories = Category::where('id', $w['parent'])->orWhere($w)->get()->toArray();
Wie kann ich das elegant machen? Jede Hilfe wäre erwünscht.