Zle poskladaný dotaz nad Doctrine 2?

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

Ahojte,

Používam klasicky ResultSet a neskôr ho aplikujem na VisualPaginator, no dnes pri novej entite na mňa vyskočil error.

check the manual that corresponds to your MariaDB server version for the right syntax to use near 'order o0_ ORDER BY o0_.id DESC' at line 1
/**
     * @return ResultSet
     */
    public function getAll() {
        $qb = $this->orderEntity->createQueryBuilder()
            ->from('OrderModule\Entities\Order', 'o')
            ->select('o')
            ->addOrderBy("o.id", 'DESC');
        return new ResultSet($qb->getQuery());
    }

Vygeneruje to SQL:

SELECT o0_.id AS id_0, o0_.create_date AS create_date_1
FROM order o0_
ORDER BY o0_.id DESC

Niekde tam je problém a nedarí sa mi to odstrániť, viete mi pomocť?

Šaman
Člen | 2666
+
+3
-

Předpokládám, že když používáš klíčové slovo (order) pro název tabulky, tak bude potřeba ho správně uvozovat, aby bylo jasné, že je to string a ne příkaz.
Zkus si tu query v Admineru, jestli projde.

Editoval Šaman (4. 5. 2016 11:05)

David Matějka
Moderator | 6445
+
+3
-

konkretne nad entitou musis pouzit anotaci Table s nazvem v ``

/**
* @ORM\Entity
* @ORM\Table(name="`order`")
*/
class Order ....
iNviNho
Člen | 352
+
0
-

Paráda,

pridal som `` a ide to :)

Ďakujem!

Editoval iNviNho (4. 5. 2016 11:16)