Kde provádět výpočty dat v DB a jak je přiřadit k vracenému objektu
- jandik.n
- Člen | 41
Ahoj, mám takový základní dotaz.
Když potřebuji kromě klasického dotazu k získání záznamů z tabulky v DB ještě například provést výpočet nějakých hodnot z další tabulky, kde tento výpočet řeším – v modelu nebo v presenteru?
A jak tento výpočet zakomponuji do vraceného objektu, abych jej v šabloně mohl již jen vypsat – vše v jenom složitějším dotazu nebo lze výpočet provést dotazem zvlášť a pak výsledek k objektu připojit?
Konkrétně mám osoby, ke kterým potřebuji vypočítat jejich hodnocení, což je aritmetický průměr jednoho sloupce z jiné tabulky, která obsahuje jejich ID.
Díky za odpověď!
- David Kudera
- Člen | 455
Pokud to jde, tak bych to řešil v rámci sql, který pokládám někde v modelu. No a pokud to nejde, tak taky v modelu v nějaké metodě a v ní bych si to spojil dohromady (tak jak sám píšeš).
Jednoduše aby si presenter natáhl zpracovaná data a jen je předal šabloně a nemusel sám nic takovýho řešit
- jandik.n
- Člen | 41
A mohl bys mi prosím poradit blíže?
Mám tento dotaz:
<?php
public function getTranslators()
{
return $this->db->table('translator')->where('active', 1)->order('surname');
}
?>
Jakým způsobem do výsledku ke každému záznamu mohu připojit např dotaz:
<?php
$evaluation = $this->db->table('translator_project')->sum('evaluation')->where('translator_id', $translator_id) / $this->db->table('translator_project')->count('evaluation')->where('translator_id', $translator_id);
?>
Díky!