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
사용자를 위해 메뉴가 생성되어야합니다. 각 메뉴는 모듈을 포함하지만 동시에 사용자 역할과 역할 메뉴에 속한 모듈 만 포함합니다. 감사합니다. – dzeno
ORM 조인으로 바꿀 "foreach 루프"를 표시하십시오. – biakaveron