Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql Symfony中多通单向关系的DQL查询_Sql_Symfony_Doctrine_Dql - Fatal编程技术网

Sql Symfony中多通单向关系的DQL查询

Sql Symfony中多通单向关系的DQL查询,sql,symfony,doctrine,dql,Sql,Symfony,Doctrine,Dql,类别类 class MenuItem { /** * @ORM\Column(type="integer") * @ORM\Id * @ORM\GeneratedValue(strategy="AUTO") */ protected $id; /** * @ORM\ManyToOne(targetEntity="MenuCategory") * @ORM\JoinColumn(name="menu_id", referencedColumnName="id") */ protected

类别类

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

/**
* @ORM\ManyToOne(targetEntity="MenuCategory")
* @ORM\JoinColumn(name="menu_id", referencedColumnName="id")
*/
protected $catagory; 
}
我想查询类别中由ordering属性排序的所有项目。这是我尝试过的问题。我是SQL/DQL新手,不知道如何访问查询中的ordering属性。此查询是MenuItemRepository.php文件中的查询

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

/**
* @ORM\Column(type="string")
*/ 
protected $name; 

/**
* @ORM\Column(type="integer")
*/
protectted $ordering;
}
有没有一种方法可以按顺序订购所有物品

您的
orderBy
子句中有cata血污,而不是cate血污

进一步protected而不是
$ordering
属性前面的protected

以下方面应起作用:

class MenuItemRepository extends EntityRepository
{ 
public function getOrderedMenu() 
{ 
   return $this->createQueryBuilder('i')
        ->select('i')
        ->orderBy('i.catagory.ordering', 'ASC') //????
        ->getQuery()
        ->getResult()
}
}
return $this->createQueryBuilder('i')
    ->leftJoin('i.category', 'c')
    ->orderBy('c.ordering', 'ASC')
    ->getQuery()
    ->getResult();