ORDER – řazení podle sloupce z propojené tabulky
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Hanz25
- Člen | 38
Mám tento dotaz
$this->db
->table('web_projekty')
->select("*")
->where("aktivni=3 AND typ=?", $typ)
->order("(podkategorie = 0) ASC")
->order("(podkategorie.index) DESC");
Sloupec ‚podkategorie‘ je cizím klíčem propojen s tabulkou web_podkategorie. Problém je v posledním řádku. Jakmile se pokusím řadit podle sloupce v propojené tabulce, zmizí mi některé záznamy. Nepodařilo se mi zjistit podle čeho ty záznamy mizí, ale z každé podkategorie (kromě 0) se mi zobrazí jen jeden záznam.
Co mám špatně? Děkuji
Editoval Hanz25 (4. 2. 2014 16:06)
- Hanz25
- Člen | 38
Vygenerovaný dotaz je tady
SELECT *
FROM `web_projekty`
LEFT JOIN `web_podkategorie` AS `podkategorie` ON `web_projekty`.`podkategorie` =
`podkategorie`.`id`
WHERE (`aktivni`=3 AND `typ`=1)
ORDER BY (`podkategorie` = 0) ASC, (`podkategorie`.`index`) DESC
Když si tento dotaz provedu přes PhpMyAdmina, tak mi správně vyhodí všechny záznamy
Když dumpuji výsledek před foreachem tak mi říká, že data ⇒ NULL.
Editoval Hanz25 (4. 2. 2014 16:29)
- Hanz25
- Člen | 38
"$project" => Nette\Database\Table\ActiveRow #9b28
table private => Nette\Database\Table\Selection #6e02
connection protected => Nette\Database\Connection #8820 { ... }
reflection protected => Nette\Database\Reflection\DiscoveredReflection #5eba { ... }
cache protected => Nette\Caching\Cache #c396 { ... }
sqlBuilder protected => Nette\Database\Table\SqlBuilder #66ff { ... }
name protected => "web_projekty" (12)
primary protected => "id" (2)
primarySequence protected => FALSE
rows protected => array (28) [ ... ]
data protected => array (28) [ ... ]
dataRefreshed protected => FALSE
globalRefCache protected => array (1) [ ... ]
refCache protected => array (1) [ ... ]
generalCacheKey protected => "f260e95e7a3cddf3e76c505076935dac" (32)
specificCacheKey protected => NULL
aggregation protected => array ()
accessedColumns protected => array (7) [ ... ]
previousAccessedColumns protected => array (7) [ ... ]
observeCache protected => Nette\Database\Table\Selection #6e02 { RECURSION }
keys protected => array (28) [ ... ]
dataRefreshed private => FALSE
isModified private => FALSE
Tady, jestli to nějak pomůže.
Editoval Hanz25 (4. 2. 2014 19:38)