gpt4 book ai didi

symfony - 索纳塔管理包 : unable to remove relation with sonata_type_admin

转载 作者:行者123 更新时间:2023-12-02 21:31:29 25 4
gpt4 key购买 nike

我有两个具有 OneToOne 关系的实体: Objectif 和 Image 。

在奏鸣曲管理包中,我希望能够从目标中删除图像(图像是在 formField 中使用 sonata_type_admin 定义的。

我可以勾选“删除”复选框,但是当我单击更新按钮时,没有任何变化,图像实体仍然在这里。这是我的代码:

/** objectiveAdmin form field **/
/**
* @param FormMapper $formMapper
*/
protected function configureFormFields(FormMapper $formMapper)
{
$formMapper
->with("General")
->add('titre')
->add('description')
->with("Icone")
->add('image', 'sonata_type_admin', array(), array('required' => false, 'edit' => 'admin'))
;
}


/** objective entity class **/
/**
* @ORM\OneToOne(targetEntity="acme\Bundle\Entity\Image" , cascade={"persist"} , orphanRemoval=true )
*/
private $image;

最后是我的奏鸣曲管理 objectif 页面的捕获:

enter image description here

非常感谢您的回答!

最佳答案

我终于通过附加父管理类的 preUpdate 函数成功解决了我的问题:

这是代码:

    public function preUpdate($objectif) {

// i get the _delete variable of my sonata_type_admin Image widget
$params = $this->getRequest()->request->get($this->getUniqid());
$image = $params['image'];

// if the checkbox is checked i set NULL to my objectif image
if ( isset ( $image['_delete'] ) && !empty ( $image['_delete'] ) )
{
$objectif->setImage( null ) ;
}else{
$objectif->setImage($objectif->getImage());
}

$this->manageEmbeddedImageAdmins($objectif);
}

// finally , i call my Image remove function to delete the media ...

关于symfony - 索纳塔管理包 : unable to remove relation with sonata_type_admin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22204817/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com