J'ai un projet qui charge les menus à partir de la base de données. L'architecture est d'abord J'ai Modules pour les menus horizontaux supérieurs (Admin, Paramètres, Rapports) puis Sous Modules pour les en-têtes de menu vertical gauche (Utilisateurs, Livres) et le dernier est Node qui est développé en cliquant sur le sous-menu (User Management, Mot de passe Réinitialiser, Livre Maître, Listes de livres).Relation de table de mappage éloquente à l'aide de cinq modèles dans laravel 4
Admin > Users > User Management
Admin > Books > Book Master
Settings > Users > Password Reset
Reports > Books > Book Lists
Comme cela, le nœud ne viendra qu'une seule fois et les modules et sous-modules seront répétés.
Il y a cinq tables: menu_modules, menu_sub_modules, module_submodule_mapping, menu_nodes et submodule_node_mapping.
'champs menu_module' - menu_module_id, module_name, created_at, updated_at
champs 'menu_sub_modules de - menu_sub_module_id, sub_module_name, created_at, updated_at
'module_submodule_mapping' champs - sub_module_mapping_id, menu_module_id, menu_sub_module_id, created_at, updated_at
champs 'menu_nodes de - menu_node_id, nom_noeud, created_at, updated_at
'submodule_node_mapping' - node_mapping_id , Menu_sub_module_id, menu_node_id, created_at, updated_at
D'abord, je dois obtenir des résultats comme cette requête en utilisant la relation éloquente Laravel 4:
SELECT A.module_name,B.sub_module_name FROM menu_module A,menu_sub_modules B,module_submodule_mapping C WHERE A.menu_module_id = C.menu_module_id AND B.menu_sub_module_id = C.menu_sub_module_id
Ensuite, le deuxième résultat comme cette requête:
SELECT A.node_name FROM menu_nodes A,submodule_node_mapping B WHERE A.menu_node_id = B.menu_node_id AND C.menu_sub_module_id = '1'
Quelqu'un peut-il expliquer la structure et les méthodes du modèle et comment obtenir le résultat? S'il vous plaît noter que j'utilise mes propres champs id comme menu_node_id et le projet est en laravel 4.
Merci. Ça marche – devo