【发布时间】:2016-12-25 10:04:27
【问题描述】:
有人试过关于Sortable Sonata Type Model in Admin 的教程吗? 我一步一步地跟着它,没有遗漏任何东西(我很确定),但最终无法获得好的结果。
基本上我要做的是:我有 3 个实体,文章、标签和文章标签(教程中的用户、期望和 UserHasExpectation 的eq)
在 UserHasExpectationAdmin 之前一切似乎都很好:
protected function configureFormFields(FormMapper $formMapper){
// ...
$formMapper
->add('userHasExpectations', 'sonata_type_model', array(
'label' => 'User\'s expectations',
'query' => $this->modelManager->createQuery('UserBundle\Entity\Expectation'),
'required' => false,
'multiple' => true,
'by_reference' => false,
'sortable' => true,
))
;
$formMapper->get('userHasExpectations')->addModelTransformer(new ExpectationDataTransformer($this->getSubject(), $this->modelManager));}
我认为属性 'class' => 'UserBundle\Entity\Expectation' 应该添加到 'userHasExpectations' 字段,否则 Symfony 会说这是一个无效值。
那么另一个问题出在dataTransformer:
它启动了我的错误:
试图调用类“Main\CoreBundle\Form\DataTransformer\TagDataTransformer”的名为“create”的未定义方法
我认为应该添加一个 use 语句,但我不知道是哪一个。此外,假设我有正确的使用声明,我不知道作者的目标是什么,如果它正在创建 UserHasExpectation 记录,他为什么不添加 userHasExpectations->setUser($this->User) ???
我还想在 "vardumping" $this->Subject before 之后添加:
$formMapper->get('userHasExpectations')->addModelTransformer(new ExpectationDataTransformer($this->getSubject(), $this->modelManager));
它似乎有一个适当的实体对象,所有字段都为 NULL 值...
【问题讨论】:
标签: symfony many-to-many sonata-admin