5
這是我在應用程序中使用的數據庫ERD。我正在使用Kohana 3.2。我想實現的是爲當前登錄的用戶生成菜單。每個用戶都可以有多個角色,因此基於該用戶應該獲得菜單模塊(與菜單和用戶有關)。
我已經通過幾個foreach循環實現了這一點。有沒有可能使用ORM做到這一點?
*表'模塊'表示菜單項。
編輯:這是我現在的代碼。
$conf_modules = Kohana::$config->load('modules');
$user_roles = $user->roles->find_all();
$result = array();
$array = array();
foreach($user_roles as $user_role)
{
$menus = $user_role->menus->find_all();
$modules = $user_role->modules->find_all();
}
foreach($menus as $menu)
{
$m = $menu->modules->find_all();
$result[]['name'] = $menu->name;
foreach ($m as $a)
{
foreach ($modules as $module)
{
if($a->name == $module->name)
{
foreach ($conf_modules as $key => $value)
{
if($module->name == $key)
{
$array = array(
'module_name' => $module->name,
'text' => $module->display_desc,
'url' => $value['url'],
);
}
}
}
}
array_push($result, $array);
}
}
沒有足夠的信息。你想要什麼樣的連接? – biakaveron 2012-07-25 05:09:47
應該爲用戶生成菜單/ s。每個菜單都包含模塊(但只包含同時屬於用戶角色和角色菜單的模塊)。感謝 – dzeno 2012-07-25 09:07:43
請使用ORM連接顯示要替換的「foreach循環」 – biakaveron 2012-07-25 09:58:29