Autor | Zpráva | ||
---|---|---|---|
maikoo Profil * |
#1 · Zasláno: 13. 8. 2011, 18:31:28
zdravím,
s notorm teprve začínám a zjistil jsem aspoň pro mně podivné chování. Mám dvě tabulky pages a blocks chci vypsat bloky. Jelikož jsou v tabulkách stejné sloupce musím u where mít "blocks.lang", nojo ale ono se mi to pokouší joinout tabulku blocks :D ...jakto ? ... co dělám špatně? $db = $this->connection->{$this->table}(); if (!empty($a)) { $db->where('pages.url_' . $this->lang . ' = ?', $a); } if (NULL === $position) { $db->where('blocks.position IS NULL'); } $db->where(array( 'blocks.lang' => gn($this->lang), 'blocks.show_content' => 1 )); díky moc |
||
maikoo Profil * |
#2 · Zasláno: 13. 8. 2011, 18:32:18
SELECT ccms_blocks.* FROM ccms_blocks LEFT JOIN ccms_pages AS pages ON ccms_blocks.pages_id = pages.id LEFT JOIN ccms_blocks AS blocks ON ccms_blocks.blocks_id = blocks.id WHERE (pages.url_cs = ?) AND (blocks.position IS NULL) AND (blocks.lang = 0) AND (blocks.show_content = 1) |
||
anonymní Profil * |
#3 · Zasláno: 13. 8. 2011, 22:21:40
Prozkoumej tohle, najdeš tam vše potřebné.
|
||
maikoo Profil * |
#4 · Zasláno: 14. 8. 2011, 09:11:13
díky .. tam jsem koukal prvně.. nenašel jsem nic co by mi pomohlo ..pokud nejsem slepej
|
||
maikoo Profil * |
#5 · Zasláno: 14. 8. 2011, 09:36:32
jen pro upřesnění pokud by to někdo špatně chápal... vypisuji data z tabulky blocks .. a chci joinovat pouze tabulku pages
|
||
Jakub Vrána Profil * |
#6 · Zasláno: 14. 8. 2011, 11:01:25
Je to nejspíš kvůli prefixům u tabulek, v NotORM bude asi chyba. Teď ji ale opravovat nebudu. Možná by pomohlo napsat where('ccms_blocks.position IS NULL'). A možná by se joinu dalo v tomto případě úplně vyhnout.
|
||
maikoo Profil * |
#7 · Zasláno: 14. 8. 2011, 11:41:35
Jakub Vrána:
- hehe no že já zase musím narazit přímo na chybu :D - jojo je to prefixem po odstranění prefixu vše jede - where('ccms_blocks.position IS NULL') ..tohle řešení se mi nelíbí - joinu úplně vyhnout ? |
||
Časová prodleva: 13 let
|
0