Jak pomocí Nette/Database přidat data, která se vztahují k „related“ datům
- jandik.n
- Člen | 41
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é.