sonata Admin 当前实体
sonata Admin current entity
如何访问奏鸣曲管理实体的 ID。假设我有一个实体端点,它有一个函数 getProject(),我怎样才能得到那个项目的 ID。我尝试了下面的代码,但这给了我以下错误:试图调用一个名为“getProject”的未定义方法 class“ContainerAgbGotv\srcApp_KernelDevDebugContainer”。
class EndPointAdmin extends AbstractAdmin{
protected function configureFormFields(FormMapper $form)
{ $container = $this->getConfigurationPool()->getContainer();
$em = $container->getProject();
$array = [];
foreach ($em as $ems) {
if (!empty($ems->getEnv())) {
$array[$ems->getEnv()] = $ems->getEnv();
}}
$result = array_unique($array);
$form
->add('name',ChoiceType::class, [
'choices'=> $result,
'placeholder' => 'Choose an option',
'required' => false
])
->add('ipAdress',TextType::class)
->add('port',IntegerType::class)
;
}
感谢您的帮助。
在管理员中您将有权访问
$this->getSubject()
这将 return 您成为该管理员的当前实体。值得注意的是 configureFormFields 用于创建和编辑实体,因此 getSubject() 可能 return null.
如何访问奏鸣曲管理实体的 ID。假设我有一个实体端点,它有一个函数 getProject(),我怎样才能得到那个项目的 ID。我尝试了下面的代码,但这给了我以下错误:试图调用一个名为“getProject”的未定义方法 class“ContainerAgbGotv\srcApp_KernelDevDebugContainer”。
class EndPointAdmin extends AbstractAdmin{
protected function configureFormFields(FormMapper $form)
{ $container = $this->getConfigurationPool()->getContainer();
$em = $container->getProject();
$array = [];
foreach ($em as $ems) {
if (!empty($ems->getEnv())) {
$array[$ems->getEnv()] = $ems->getEnv();
}}
$result = array_unique($array);
$form
->add('name',ChoiceType::class, [
'choices'=> $result,
'placeholder' => 'Choose an option',
'required' => false
])
->add('ipAdress',TextType::class)
->add('port',IntegerType::class)
;
}
感谢您的帮助。
在管理员中您将有权访问
$this->getSubject()
这将 return 您成为该管理员的当前实体。值得注意的是 configureFormFields 用于创建和编辑实体,因此 getSubject() 可能 return null.