Bonjour,
Pour suivre tes conseils, j'ai donc renommé la table pivot en product_category.
Dans Product.php
public function categories()
{
return $this->belongsToMany('\App\Category', 'product_categories');
}
Dois je enlever du coup "product_categories" ?
Dans cette table pivot, j'ai par exemple :

Déjà, je me pose la question, un produit étant dans 3 niveaux de catégories, est ce que je devrais stocker ces 3 niveaux ?
Si on prend pour exemple la capture ci après, est ce que je devrais plutot stocker comme ceci :
product_id | category_id
1 | 2 (catégorie de niveau 1, Mobilier)
1 | 3 (catégorie de niveau 2, Assises)
1 | 6 (catégorie de niveau 3, Fauteil)
Au niveau de la base de données, j'ai une table products avec un id, name et d'autres champs qui n'ont pas d'importance ici.
Une table categories avec ce schéma que je vais vous détailler :

Dans cet exemple, on a
-
Mobilier (catégorie niveau 1)
- Assises (catégorie niveau 2)
- Canapé (catégorie niveau 3)
- Canapé convertible (catégorie niveau 3)
- Tables (catégorie niveau 2)
- Table de repas (catégorie niveau 3)
......
Donc, la première chose que je ne parviens pas à faire, c'est de récupérer les produits et lui attachés ses catégories.
$products = \App\Product::with([????]);
Je pense que c'est dans le with qu'il faut réussir à récupérer tous les niveaux de catégories.
Pour créer cette hiérarchisation de catégorie, j'ai utilisé ceci :
https://github.com/lazychaser/laravel-nestedset
Je suis sous Laravel 5.2.
Merci