Dotaz vrací špatný počet řádků
- tttpapi
- Člen | 100
Ahoj,
mám dotaz:
<?php
$this->database->table(self::DOCUMENTS_TABLE)
->select(':documents_released.*')
->where(':documents_released.date_valid < NOW() OR :documents_released.archived = 1')
->where(':documents_released.document_type_id', $documentType);
?>
A pokud si ho pustím přímo v databázi, tak mi vrátí 3 řádky.
Když si ho prohlídnu v laděnce, tak je tam napsáno rows 3.
Pokud si však na něj dám count a nebo si jej vypíšu, zobrazuje se mi pouze 1.
Nette verze 2.1.4
Editoval tttpapi (20. 8. 2014 10:58)
- David Matějka
- Moderator | 6445
Pokud nevis, co delas, tak nikdy nemen v select hlavni tabulku. Vytvor selection rovnou na documents_relased
$this->database->table('documents_released')
->where('date_valid < NOW() OR archived = ?', 1)
->where('document_type_id', $documentType);
Editoval matej21 (20. 8. 2014 11:09)
- tttpapi
- Člen | 100
matej21 napsal(a):
Pokud nevis, co delas, tak nikdy nemen v select hlavni tabulku. Vytvor selection rovnou na documents_relased
$this->database->table('documents_released') ->where('date_valid < NOW() OR archived = ?', 1) ->where('document_type_id', $documentType);
Já tam ale potřebuju mít vazbu na documents, přes které se potom
propojuji do dalších tabulek…
A když kontroluju to SQL, co to vrací, tak mi to vrací to, co po tom chci.
Jenom při výpisu dat, už je tam něco jinýho.
Editoval tttpapi (20. 8. 2014 11:33)
- David Matějka
- Moderator | 6445
A jakou vazbu potrebujes? Vetsinu veci vyresi bud filtrovani dle jine tabulky nebo ref a related
A když kontroluju to SQL, co to vrací, tak mi to vrací to, co po tom chci. Jenom při výpisu dat, už je tam něco jinýho.
ano, to je ocekavane chovani. ta tabulka v table()
se bere jako
zakladni a dle ni se to seskupi… Tedy jednotlive zaznamy v documents_related
se berou jako duplicitni (jelikoz jsou navazany na stejny radek v tabulce
documents)
Editoval matej21 (20. 8. 2014 11:52)