Nette\Database: vynechání řádků za nulovým id

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

Ahoj nevím, kde může být problém: ale myslím že je to chybav Nette\Database.

Mějme tabulku „test“.

id	nazev
0   	c
1	b
2	a

když
teď vyberu třeba takto

foreach($this->test->table as $tes)
{
	echo $tes->nazev
}
//tak se mi vypíši jen dva sloupce
//pokud kód zapíši takto
foreach($this->test->table->order('id') as $tes)
{
	echo $tes->nazev
}
// tak se vypíší všechny 3.

Já osobně si myslím že tomu vadí to nulové „id“.

nanuqcz
Člen | 821
+
0
-

//tak se mi vypíši jen dva sloupce

myslíš řádky?

zool
Člen | 144
+
0
-

Jj, omlouvám se, řádky se vypíšou

hrach
Člen | 1819
+
0
-

Chybi mi vestecka koule. Jake to vypise dotazy, verze nette atp.

zool
Člen | 144
+
0
-

Ahoj promiň, verze nette je 2.0.10

udělal jsem malý prog..
v databázi

INSERT INTO `ztest` (`id`, `nazev`) VALUES
(0, 'C'),
(1, 'D'),
(2, 'A'),
(3, 'B');

v Presenteru

class TestPresenter extends BasePresenter
{
    /** @var \Nette\Database\Table\Selection */
    private $data;
    public function actionDefault()
    {
        $this->data = $this->test->table->order('nazev');
        echo $this->data->count('*')."<br>";
        echo $this->data->getSql()."<br>";;
        foreach($this->data as $da)
        {
            echo $da->id;
        }
        echo "<br>";
        $this->data = $this->test->table->order('id');
        echo $this->data->count('*')."<br>";
        echo $this->data->getSql()."<br>";;
        foreach($this->data as $da)
        {
            echo $da->id;
        }
        exit();
    }
}

A výpis na obrazovku

4
SELECT `id` FROM `ztest` ORDER BY `nazev`
031   //melo být 2301 a navíc chybí ta 2
4
SELECT `id` FROM `ztest` ORDER BY `id`
0123

Editoval zool (26. 3. 2013 17:21)