Doctrine orm 如何使用条令将变量传递给Orderby子句

Doctrine orm 如何使用条令将变量传递给Orderby子句,doctrine-orm,Doctrine Orm,在DQL的ORDER BY子句中使用条令2 ORM实现动态排序时,我遇到了一个错误 以下是我的代码片段: $queryBuilder=$categoryEntity->createQueryBuilder('category'); $queryBuilder->distinct(); $queryBuilder->join('Category\Entity\CategoryName','Category\u name','WITH','Category.id=Category\u name.Ca

在DQL的ORDER BY子句中使用条令2 ORM实现动态排序时,我遇到了一个错误

以下是我的代码片段:

$queryBuilder=$categoryEntity->createQueryBuilder('category');
$queryBuilder->distinct();
$queryBuilder->join('Category\Entity\CategoryName','Category\u name','WITH','Category.id=Category\u name.Category');
如果($column=='status'){
$queryBuilder->orderBy(“category.status$order”);
}否则{
$queryBuilder->orderBy(“category_name.name$order”);
}
这会产生以下错误:

[语法错误]第0行,第189列:错误:应为字符串结尾,获得“ASC”


正确的API是
原则\ORM\QueryBuilder\orderBy($field,$direction)

//假设$order是'ASC'或'DESC'
如果($column=='status'){
$queryBuilder->orderBy('category.status',$order);
}否则{
$queryBuilder->orderBy('category\u name.name',$order);
}

正确的API是
原则\ORM\QueryBuilder\orderBy($field,$direction)

//假设$order是'ASC'或'DESC'
如果($column=='status'){
$queryBuilder->orderBy('category.status',$order);
}否则{
$queryBuilder->orderBy('category\u name.name',$order);
}

您可以始终使用QueryBuilder的getSQL函数获取查询错误位置的线索。您可以始终使用QueryBuilder的getSQL函数获取查询错误位置的线索。