Dotaz vrací špatný počet řádků

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
tttpapi
Člen | 100
+
0
-

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
+
0
-

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
+
0
-

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
+
0
-

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)