through() hleda jiny sloupec nez je zadan
- Jan Mikeš
- Člen | 771
Zdravim, prikaz
$row->related("slunecni_energie")->through("podsekce_id")->count('*')
mi vraci sql
SELECT COUNT(*), `podsekce_id`
FROM `slunecni_energie`
WHERE (`slunecni_energie`.`slunecni_energie_podsekce_id` IN (2))
GROUP BY `podsekce_id`
Prikladam kod, ze ktereho by melo byt zrejme jak funguje a co potrebuji:
<tr n:foreach="$items as $row"{if $iterator->isEven()} class="even"{/if}>
<td>{$row->title}</td>
<td>{$row->related("slunecni_energie")->through("podsekce_id")->count('*')}</td>
<td class="i"><a n:href="editSection, $row->id">editovat</a></td>
<td class="i"><a n:href="deleteSection! $row->id" data-confirm="Skutečne smazat?">smazat</a></td>
</tr>
potrebuji ale aby v podmince misto sloupce
slunecni_energie
.slunecni_energie_podsekce_id
byl
sloupec slunecni_energie
.podsekce_id
a nedari se mi
toho nijak docilit, zkousel jsem ruzne kombinace… Dale je divne, ze sloupec je
chybne uveden pouze u podminky, ale u selectu a group by je ve
spravnem tvaru.
Prikaz bez ->through(„podsekce_id“) mi vraci toto:
SELECT COUNT(*), `slunecni_energie_podsekce_id`
FROM `slunecni_energie`
WHERE (`slunecni_energie`.`slunecni_energie_podsekce_id` IN (2))
GROUP BY `slunecni_energie_podsekce_id`
Materska tabulka se jmenuje slunecni_energie_podsekce a potomci se nachazeji v tabulce slunecni_energie, mozna je chyba ve spatne konvenci nazvu tabulek?
Resenim muze byt samozrejme prejmenovani sloupce a dal to neresit, ale zajima me kde delam chybu.
Editoval Lexi (9. 2. 2012 15:14)
- hrach
- Člen | 1838
Jakou mas verzi nette? Mne to fuguje. Aktualni syntaxe je ovsem jina, ackoliv ta stara stale fugnuje.
<td>{$row->related("slunecni_energie.podsekce_id")->count('*')}</td>
<!-- alternativne -->
<td>{$row->related("slunecni_energie", "podsekce_id")->count('*')}</td>
Editoval hrach (10. 2. 2012 12:36)
- Jan Mikeš
- Člen | 771
Trosku starsi, 2.0-dev released on 2011–10–11
kazdopadne tuto syntax jsem zkousel taky, nasel jsem si ji v api, oboji mi vyplivlo stejny sql dotaz. Pokud ti to funguje tak je tedy mozne ze je to verzi
Tvuj vysledny sql vypada takto?
SELECT COUNT(*), `podsekce_id`
FROM `slunecni_energie`
WHERE (`slunecni_energie`.`podsekce_id` IN (2))
GROUP BY `podsekce_id`