Jak pomocí Nette/Database přidat data, která se vztahují k „related“ datům

jandik.n
Člen | 41
+
0
-

Ahoj,

z databáze vypisuji jazyky překladatelské agentury, pod kterými pomocí „related“ vypisuji překladatele, kteří tyto jazyky umí (vazba M:N) + další údaje o překladatelích.
Nyní potřebuji přidat dotaz, který bude přidávat údaj z tabulky „project“, ale přímo ke každému překladateli, ale když k dotazu připojím „->select(…)“, tak se údaje budou připojovat k jazykům a ne k překladatelům, kteří jsou „related“. Je k tomu nějaké řešení?

Aktuální kód, který nedělá, co potřebuji, ale uvádím pro nástin:

<?php
public function getLanguagesForNewProject2($target_languages_id) {
        $selection = $this->db->table('language')->select('language.*')->where('language.id', $target_languages_id)->where('language.id != ?', 0)->order('name');
        $selection->select('SUM(IF(:translator_language.translator:translator_project.project.status = 1, :translator_language.translator:translator_project.standard_pages, 0)) AS current_translators_workload')->group(':translator_language.translator_id');
        return $selection;
    }
?>

Dále v tom přidaném selectu přistupuji v databázové struktuře přes related tabulku do další related tabulky „project“, kde potřebuji získat určitý údaj. Zde také nevím, jestli je správně a jestli to může fungovat, tabulka „project“ je od tabulky „language“, ze které vystupuji, už trochu vzdálená. Doufám, že ale nějaké řešení je.

Děkuji moc za rady, snad je to pochopitelné.

RSS tématu Téma zavřeno