データベースからメニューをロードするプロジェクトがあります。アーキテクチャは、最初に上部の水平メニュー (管理、設定、レポート) 用のモジュールがあり、次に左側のサイドバーの垂直メニュー見出し (ユーザー、ブック) 用のサブモジュールがあり、最後のモジュールはサブメニュー (ユーザー管理、パスワード) をクリックすると展開されるノードです。リセット、ブック マスター、ブック リスト)。
Admin > Users > User Management
Admin > Books > Book Master
Settings > Users > Password Reset
Reports > Books > Book Lists
このように、ノードは一度だけ来て、モジュールとサブモジュールが繰り返されます。
menu_modules、menu_sub_modules、module_submodule_mapping、menu_nodes、および submodule_node_mapping の 5 つのテーブルがあります。
'menu_module フィールド' - menu_module_id、module_name、created_at、updated_at
「menu_sub_modules」フィールド - menu_sub_module_id、sub_module_name、created_at、updated_at
「module_submodule_mapping」フィールド - sub_module_mapping_id、menu_module_id、menu_sub_module_id、created_at、updated_at
「menu_nodes」フィールド - menu_node_id、node_name、created_at、updated_at
'submodule_node_mapping' - node_mapping_id、menu_sub_module_id、menu_node_id、created_at、updated_at
まず、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
次に、次のクエリのような 2 番目の結果:
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'
モデルの構造と方法、および結果を表示する方法を誰でも説明できますか。menu_node_id のような独自の id フィールドを使用しており、プロジェクトは laravel 4 にあることに注意してください。