Order 加入 table 与 Doctrine
Order joined table with Doctrine
我写了一个带有教义的查询,其中加入了水果和维生素 table。
我已经按名称 ASC 对维生素进行了排序,但我需要对加入的 table 做同样的事情。
我试过了
addOrderBy()
,但运气不好..
注:'c'是维生素table。
除水果无订单退回外,所有东西都按原样退回..
我的代码:
$queryBuilder = $this->createQueryBuilder('c')
->select('c', 'ct.name AS fruitName', 'ct.id AS fruitId')
->join('App\Entity\Fruits', 'ct', Expr\Join::WITH, 'ct.id = c.fruitName')
->orderBy('c.name');
$fruits = $queryBuilder->getQuery()->getResult();
$structure = [];
foreach ($fruits as $fruit) {
$structure[$fruit['fruitName']][] = $fruit[0];
}
return $structure;
尝试以下方法之一:
选项 1:
$qb->orderBy('c.name ASC, ct.name ASC');
选项 2:
$qb->addOrderBy('c.name', 'ASC')
->addOrderBy('ct.name', 'ASC')
我写了一个带有教义的查询,其中加入了水果和维生素 table。
我已经按名称 ASC 对维生素进行了排序,但我需要对加入的 table 做同样的事情。
我试过了
addOrderBy()
,但运气不好..
注:'c'是维生素table。
除水果无订单退回外,所有东西都按原样退回..
我的代码:
$queryBuilder = $this->createQueryBuilder('c')
->select('c', 'ct.name AS fruitName', 'ct.id AS fruitId')
->join('App\Entity\Fruits', 'ct', Expr\Join::WITH, 'ct.id = c.fruitName')
->orderBy('c.name');
$fruits = $queryBuilder->getQuery()->getResult();
$structure = [];
foreach ($fruits as $fruit) {
$structure[$fruit['fruitName']][] = $fruit[0];
}
return $structure;
尝试以下方法之一:
选项 1:
$qb->orderBy('c.name ASC, ct.name ASC');
选项 2:
$qb->addOrderBy('c.name', 'ASC')
->addOrderBy('ct.name', 'ASC')