Ошибка: ожидаемая Doctrine \ ORM \ Query \ Lexer :: T_IDENTIFIER, получено '*'

Я пытаюсь создать файл JSON из вложенной древовидной структуры в symfony. Он используется для jquery-fancytree. Поэтому я работаю над sql-запросом.

Но мой RolesRepository выдает
Ошибка: ожидаемая Doctrine \ ORM \ Query \ Lexer :: T_IDENTIFIER, получено '*'

SQL-запрос работает вручную

class RolesRepository extends \Doctrine\ORM\EntityRepository
{


    public function getNestedToJSON()
    {
        $em = $this->getEntityManager();
        $query = $em->createQuery(
            'SELECT n.* , round((n.Rght-n.Lft-1)/2,0) AS offspring,
              count(*)-1 + (n.Lft>1) AS level,
              ((min(p.Rght)-n.Rght-( n.Lft >1 ))/2) > 0 AS lower,
              (((n.Lft-max(p.Lft)>1))) AS upper 
              FROM md_roles n, md_roles p 
              WHERE n.Lft BETWEEN p.Lft AND p.Rght 
              AND (p.id != n.id OR n.Lft = 1) 
              GROUP BY n.id 
              ORDER BY n.Lft')
            ->getResult();


        return $query;


    }
}

Юридическое лицо:

/**
 * UserRoles
 *
 * @ORM\Table(name = "md_roles",
 *     options = {"collate":"utf8_general_ci", "charset":"utf8", "engine":"InnoDB"})
 * @ORM\Entity(repositoryClass = "AppBundle\Repository\RolesRepository")
 */



class Roles
{
    /**
     * @ORM\Column(type = "integer")
     * @ORM\GeneratedValue(strategy = "AUTO")
     * @ORM\Id
     */
    protected $ID;

    /**
     * @ORM\Column(name = "Lft", columnDefinition = "INT(11) NOT NULL")
     */
    protected $Lft;

    /**
     * @ORM\Column(name = "Rght", columnDefinition = "INT(11) NOT NULL")
     */
    protected $Rght;

    /**
     * @ORM\Column(name = "Title", columnDefinition = "char(128) NOT NULL")
     */
    protected $Title;

    /**
     * @ORM\Column(name = "Description", columnDefinition = "text NOT NULL")
     */
    protected $Description;




    /**
     * @return integer
     */
    public function getID()
    {
        return $this->ID;
    }

    /**
     * @return Roles
     */
    public function setID($ID)
    {
        $this->ID = $ID;
        return $this;
    }

    /**
     * @return mixed
     */
    public function getLft()
    {
        return $this->Lft;
    }

    /**
     * @param mixed $Lft
     * @return Roles
     */
    public function setLft($Lft)
    {
        $this->Lft = $Lft;
        return $this;
    }

    /**
     * @return mixed
     */
    public function getRght()
    {
        return $this->Rght;
    }

    /**
     * @param mixed $Rght
     * @return Roles
     */
    public function setRght($Rght)
    {
        $this->Rght = $Rght;
        return $this;
    }

    /**
     * @return mixed
     */
    public function getTitle()
    {
        return $this->Title;
    }

    /**
     * @param mixed $Title
     * @return Roles
     */
    public function setTitle($Title)
    {
        $this->Title = $Title;
        return $this;
    }

    /**
     * @return mixed
     */
    public function getDescription()
    {
        return $this->Description;
    }

    /**
     * @param mixed $Description
     * @return Roles
     */
    public function setDescription($Description)
    {
        $this->Description = $Description;
        return $this;
    }



}

Кто-нибудь знает почему?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Symfony Station Communiqué - 17 февраля 2023 г
Symfony Station Communiqué - 17 февраля 2023 г
Это коммюнике первоначально появилось на Symfony Station , вашем источнике передовых новостей Symfony, PHP и кибербезопасности.
Управление ответами api для исключений на Symfony с помощью KernelEvents
Управление ответами api для исключений на Symfony с помощью KernelEvents
Много раз при создании api нам нужно возвращать клиентам разные ответы в зависимости от возникшего исключения.
0
0
6 277
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы пытаетесь выполнить SQL, но эта функция ожидает строку DQL. Вместо этого используйте $em->createNativeQuery() для простых операторов SQL или преобразуйте свой SQL в эквивалентное выражение DQL.

Спасибо за вашу помощь

megadruck 15.07.2018 20:02

Другие вопросы по теме