Autor Zpráva
maikoo
Profil *
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 *
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 *
Prozkoumej tohle, najdeš tam vše potřebné.
maikoo
Profil *
díky .. tam jsem koukal prvně.. nenašel jsem nic co by mi pomohlo ..pokud nejsem slepej
maikoo
Profil *
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 *
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 *
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 ?

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0