Kohana 3.2 advance ORM verbindet
Dies ist Datenbank ERD, die ich in der Anwendung verwenden. Ich benutze Kohana 3.2. Was ich erreichen möchte, ist ein Menü für den aktuell angemeldeten Benutzer zu erstellen. Jeder Benutzer kann viele Rollen haben, daher sollte der Benutzer ein Menü erhalten, das mit Modulen gefüllt ist (die in Beziehung zu Menü und Benutzer stehen).
Ich habe dies durch mehrere foreach Schleifen erreichen. Ist es möglich, dies mit ORM zu tun?
* Tabelle 'Module' steht für Menüpunkte.
Edit: das ist mein aktueller Code.
$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);
}
}
Nicht genügend Informationen. Welche Art von Joins willst du? – biakaveron
Menü/s sollte für Benutzer generiert werden. Jedes Menü enthält Module (aber nur solche, die gleichzeitig zur Benutzerrolle und zum Rollenmenü gehören) .Thanks – dzeno
Bitte zeigen Sie Ihre "foreach Schleifen", die Sie mit ORM Joins ersetzen möchten – biakaveron