我目前在一个网站上工作,我必须在后台使用 Sonata Admin。我正在将项目从 symfony 3 升级到 symfony 4,当我尝试过滤实例化实体时遇到问题。
我以这种方式配置了一个过滤器:
protected function configureDatagridFilters(DatagridMapper $datagridMapper)
{
$datagridMapper->add('name',null , [], EntityType::class, array(
'class' => Universe::class,
'choice_label' => 'name',
));
}
它在下拉列表中很好地引用了现有的 Universe 实体(按照我的要求显示它们的名称)。你自己看 :
下拉过滤器
但是当我尝试使用该列表中的名称进行实际过滤时,我得到了这个错误:
TypeError: trim() expects parameter 1 to be string, object given
我查看了互联网,根据我在文档中找到的内容,我完全按照他们的方式配置了过滤器(来源:https ://symfony.com/doc/current/bundles/SonataAdminBundle/getting_started/the_list_view.html#filtering-by-类别)。
你知道我做错了什么吗?我不知道除了找到错误之外还能提供什么...
多谢 !
largeQ