首页 > 解决方案 > 在 Symfony 的 CheckboxType 中将字符串填充为布尔值

问题描述

我将多对一关系保留到 mysql 中,但是我在更新函数中遇到了填充 checkboxType 的问题,因为我将所有 CheckBoxType 作为字符串存储在 MySQl 中。

我试过跟随,但没有奏效。

    $data = $this->getDoctrine()->getRepository(Item::class)->find($id);
    $sizes = filter_var($size, FILTER_VALIDATE_BOOLEAN);
    $form = $this->createForm(ItemType::class, $data);

以下是课程:

物品

  /**
 * @ORM\Column(type="string", length=255)
 */
private $price;

/**
 * @ORM\ManyToOne(targetEntity=Size::class, inversedBy="items" , cascade={"persist"})
 */
private $sizes;

     /******************/

    public function getSizes(): ?Size
{
    return $this->sizes;
}

public function setSizes(?Size $sizes): self
{
    $this->sizes = $sizes;

    return $this;
}

尺寸

/**
 * @ORM\OneToMany(targetEntity=Item::class, mappedBy="sizes")
 */
private $items;

public function __construct()
{
    $this->items = new ArrayCollection();
}


public function getId(): ?int
{
    return $this->id;
}

public function getS(): ?string
{
    return $this->s;
}

public function setS(string $s): self
{
    $this->s = $s;

    return $this;
}

我应该做布尔值,但有什么办法可以摆脱以下错误?

无法转换属性路径“s”的值:应为布尔值。

标签: symfonydoctrine-ormsymfony-formssymfony5

解决方案


推荐阅读