symfony - 如何在 Sonata Admin 中设置依赖于另一个属性值的属性值
问题描述
我有 2 个实体:
Ad: id, type, enable(boolean)
Type: id, name (1: abcd, 2: efgh)
当我选择 type == abcd 时,我希望在 Ad Admin 中,'enable' 属性将设置为 true。如果是 efgh,'enable' 将设置为 false,然后保存到 DB 中。我能怎么做?我是 Symfony 的新手,这是我的代码:
类型实体:
/**
* @ORM\Id()
* @ORM\GeneratedValue()
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\Column(type="string", length=255)
*/
private $name;
广告实体:
/**
* @ORM\Id()
* @ORM\GeneratedValue()
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\Column(type="boolean", nullable=true)
*/
private $enable;
/**
* @var Type
*
* @ORM\ManyToOne(targetEntity="\App\Entity\Type")
* @ORM\JoinColumn(onDelete="restrict")
*/
private $type;
这是我的 AdAdmin.php
protected function configureFormFields(FormMapper $formMapper){
$formMapper
->add('type')
->add('enable');
}
解决方案
推荐阅读
- php - laravel 8 公共文件夹中的 tmp 文件
- reactjs - 在 react-three/fiber 中渲染 100 万个盒子
- docker - 如何从已安装的卷中保留文件并使用该文件创建新容器?
- kivy - 从 kivy 1.11.1 升级到 kivy 2.0.0 后,应用程序在启动时抛出错误。任何想法?
- email - Mailgun“路由”与 Gmail 不兼容 - 所有转发邮件的 SPF 失败
- css - 在 Nuxt 中设置没有类散列的全局样式
- node.js - 如何判断某个网址是否在谷歌浏览器中打开过?
- java - Hystrix 断路器无法打开
- javascript - 过滤器数组方法不适用于reduce方法
- python - “str”对象没有属性“exists”/“is_file”