kdyby/doctrine jak na doCreateQuery

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

Ahoj,
jsem začátečník a zkouším doctrine s nette a potřeboval bych poradi co dělám špatně.

class ZadatelZadosti extends \Kdyby\Doctrine\QueryObject
...
protected function doCreateQuery(Kdyby\Persistence\Queryable $repository)
	{
        /** @var $repository TYPE_NAME */
        $result = $repository->createQueryBuilder('za')->select('za')
			->where('za.id= \'1000\'');

        echo "<pre>vvvvvvvvvvvv";
        \Doctrine\Common\Util\Debug::dump($result->getQuery()->execute());
        echo "</pre>";

         return $result;

	}

použití:

$result = $this->zadostDao->fetch(new \ZadatelZadosti($zadostiZadatele));

        echo "<pre>ddddddddddd";
        \Doctrine\Common\Util\Debug::dump($result);
        echo "</pre>";
        die();

výsledek:

vvvvvvvvvvvv
array (size=1)
  0 =>
    object(stdClass)[923]
      public '__CLASS__' => string 'Entities\ZadostEntity' (length=21)
      public 'id' => int 1000
      public 'zId' => int 2
      public 'zzId' => int 2
      public 'zaCreated' => int 1378472510
      public 'zaTyp' => int 2
      public 'zaStatus' => int 8
      public 'zaVratitCasPreklapeni' => int 0
      public 'zaSleva' => int 0
      public 'zaGoldenLoan' => int 0
      public 'zaOrder' => int 0
      public 'zaVpp' => int 0
      public 'zadatelZadost' => string 'Kdyby\GeneratedProxy\__CG__\Entities\ZadatelZadostEntity' (length=56)

ddddddddddd
object(stdClass)[886]
  public '__CLASS__' => string 'Kdyby\Doctrine\ResultSet' (length=24)
  public 'totalCount' => null
  public 'query' =>
    object(stdClass)[906]
      public '__CLASS__' => string 'Doctrine\ORM\Query' (length=18)
      public '_state' => int 2
      public '_dql' => string 'SELECT za FROM Entities\ZadostEntity za WHERE za.id= '1000'' (length=59)
      public '_parserResult' => null
     ....

Proč nemohu dostat object se záznamy v db.

Editoval lpq (5. 6. 2014 12:33)

akadlec
Člen | 1326
+
0
-

Protože selectuješ X záznamů z tabulky, tak přeci dostaneš pole entit.

mkoubik
Člen | 728
+
0
-

Místo ->fetch($query) použij ->fetchOne($query).

lpq
Člen | 10
+
0
-

mkoubik napsal(a):

Místo ->fetch($query) použij ->fetchOne($query).

Toto jsem potřeboval(neznal).
Děkuji za odpověď.