Здравствуйте, помогите пожалуйста сделать поля checkbox в symfony 4 ?
Суть проблемы.
У меня есть чекбоксы с продуктами которые можно выделять галочками
Эти продукты привязаны к компании в отношении много ко многим. все бы ничего казалось, ну примени Entity type и нет проблем но у меня есть еще поля Подключить по умолчанию и Принудительное подключение которые хранятся в той же таблице что и id компании и продуктов (проблема в том что таблица уже есть и ее изменять нельзя. в этом вся и сложность.) Подскажите пожалуйста что можно сделать ?
Может это поможет ?
это связь с AdditionalCompany.php в сущности Company.php
/**
* @ORM\OneToMany(targetEntity="App\Entity\AdditionalCompany", mappedBy="company", cascade={"persist"})
*/
private $additionalCompanies;
public function __construct()
{
$this->additionalCompanies = new ArrayCollection();
}
/**
* @return Collection|AdditionalCompany[]
*/
public function getAdditionalCompanies(): Collection
{
return $this->additionalCompanies;
}
public function addAdditionalCompany(AdditionalCompany $additionalCompany): self
{
if (!$this->additionalCompanies->contains($additionalCompany)) {
$this->additionalCompanies[] = $additionalCompany;
$additionalCompany->setCompany($this);
}
return $this;
}
public function removeAdditionalCompany(AdditionalCompany $additionalCompany): self
{
if ($this->additionalCompanies->contains($additionalCompany)) {
$this->additionalCompanies->removeElement($additionalCompany);
// set the owning side to null (unless already changed)
if ($additionalCompany->getCompany() === $this) {
$additionalCompany->setCompany(null);
}
}
return $this;
}
Это сама сущность Additional company<?php
namespace App\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass="App\Repository\AdditionalCompaniesRepository")
* @ORM\Table(name="additional_companies", uniqueConstraints={
* @ORM\UniqueConstraint(name="id", columns={"idcompany", "idproduct"})
* })
*/
class AdditionalCompany
{
/**
* @ORM\Id()
* @ORM\GeneratedValue()
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\CompanyCard", inversedBy="additionalCompanies")
* @ORM\JoinColumn(name="idcompany", referencedColumnName="idcomp_card")
*/
private $company;
/**
* @ORM\Column(type="boolean", nullable=true)
*/
private $is_default;
/**
* @ORM\Column(type="boolean", nullable=true)
*/
private $is_forced;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\AdditionalProduct", inversedBy="additionalCompanies")
*/
private $product;
public function getId(): ?int
{
return $this->id;
}
public function getCompany(): ?CompanyCard
{
return $this->company;
}
public function setCompany(?CompanyCard $company): self
{
$this->company = $company;
return $this;
}
public function getIsDefault(): ?bool
{
return $this->is_default;
}
public function setIsDefault(?bool $is_default): self
{
$this->is_default = $is_default;
return $this;
}
public function getIsForced(): ?bool
{
return $this->is_forced;
}
public function setIsForced(?bool $is_forced): self
{
$this->is_forced = $is_forced;
return $this;
}
public function getProduct(): ?AdditionalProduct
{
return $this->product;
}
public function setProduct(?AdditionalProduct $product): self
{
$this->product = $product;
return $this;
}
}