Sonata admin - “order by”对Entity不起作用

时间:2012-11-23 14:47:59

标签: php sorting symfony admin sonata-admin

我无法在sonata admin列表中进行实体排序,这是我的实体:

class User extends BaseUser {
/**
* @ORM\ManyToOne(targetEntity="Region", inversedBy="users")
*/
protected $preferredRegion;
}

这是configureListFields定义:

 protected function configureListFields(ListMapper $listMapper) {
     $listMapper->add('preferredRegion', NULL, array('label' => 'Preferred Region',  'sortable' => 'preferredRegion'))
 }

单击表头列以按实体名称对其进行排序时出现此错误:

在渲染模板期间抛出异常(“[语义错误]第0行,第25行附近'AS __order_by':错误:实体\用户没有名为AS的字段或关联”)

如何使这种方式适用于实体,以便按实体名称按字母顺序排序?

谢谢

Julian Mancera

1 个答案:

答案 0 :(得分:4)

尝试:

$listMapper->add('preferredRegion.id', NULL, array('label' => 'Preferred Region'));

如果这样做,而不是.id,你可以把该表中其他列的.title,.name。