Řazení podle nejnovějšího záznamu z related tabulky
- jandik.n
- Člen | 41
Ahoj,
mám tabulku „customer“, ke které se mi přes „customer_id“ pojí tabulka „crm_log“, kam se ukládají záznamy, kdy byli zákazníci kontaktováni. Zároveň se mi tam ukládá, kdy je mám znovu kontaktovat.
V šabloně potřebuji zákazníky seřadit podle datumů, které byly vloženy do této propojené tabulky jako poslední.
Dotaz tedy zní, jak mohu záznamy řadit, podle nejnověji vloženého údaje v related tabulce.
Podle následujícího kódu se data seřadí podle nejstaršího záznamu, nikoliv nejnovějšího.
Doufám, že je to srozumitelné, předem díky za rady!
<?php
$selection = $this->db->table('customer')->select('customer.*')->having('COUNT(:crm_log.customer_id >= 1)');
$selection->select(':crm_log.future_contact AS future_contact');
$selection->order('future_contact ASC');
?>
Editoval jandik.n (26. 10. 2015 13:43)
- jandik.n
- Člen | 41
emptywall napsal(a):
order DESC?
Tím pouze manipuluji s pořadím již nejstarších záznamů z related tabulky, které se Váží k zákazníkům.
Já ale potřebuji řadit podle nejnovějších záznamů z related tabulky, které se k zákazníkům pojí.
Toto DESC a ASC, jak mám v kódu mi pouze změní pořadí těch samých záznamů (nejstarších), já ale potřebuji ty nejnověji vložené (z related tabulky) a podle těch teprve řadit.
Rozumíme? Pište prosím, pokud to není jasné.
- jandik.n
- Člen | 41
Zde je schéma: http://www.nk-translators.com/…s/scheme.png
K zákazníkovi se pojí x záznamů v tabulce crm_log.
Potřebuji vždy zjistit nejnovější záznam s ID daného zákazníka v tabulce crm_log a podle atributu „future_contact“ všechny zákazníky seřadit.
V kódu řečeno:
<?php
$this->db->table('customer')->select('customer.*')->order(':crm_log.future_contact');
?>
Ale těch záznamů je tam hodně a ono to seřadí podle toho nejstaršího, nikoliv nejnovějšího.
Je to doufám srozumitelné :-) Díky.
- voda
- Člen | 561
Takže chceš sezname všech zákazníku s nejnovějším záznamem z crm_log tabulky? Dotaz How do I join the most recent row in one table to another table? na SO je asi přesně to co hledáš. Případně si prohlédni další dotazy z kategorie greatest-n-per-group.