Здравствуйте прмогите с задачей.
Суть задачи:
Есть сущность CompanyService в ней две колонки company_id и service_id.
И есть сущность Service в ней хранится сервисы.
Мне надо заполнить сущность CompanyService тем что лежит в Service
И есть сущность Company в которой хранятся коллекция CompanyService
CompanyService
<?php
namespace App\Entity;
use App\Repository\CompanyServiceRepository;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass=CompanyServiceRepository::class)
*/
class CompanyService
{
/**
* @ORM\Id()
* @ORM\GeneratedValue()
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\ManyToOne(targetEntity=Company::class, inversedBy="companyServices")
*/
private $Company;
/**
* @ORM\ManyToOne(targetEntity=Service::class, inversedBy="companyServices")
*/
private $service;
public function getId(): ?int
{
return $this->id;
}
public function getCompany(): ?Company
{
return $this->Company;
}
public function setCompany(?Company $Company): self
{
$this->Company = $Company;
return $this;
}
public function getService(): ?Service
{
return $this->service;
}
public function setService(?Service $service): self
{
$this->service = $service;
return $this;
}
}
Company.php
/**
* @ORM\OneToMany(targetEntity=CompanyService::class, mappedBy="Company", orphanRemoval=true,cascade={"persist"})
*/
private $companyServices;
public function __construct()
{
$this->companyServices = new ArrayCollection();
}
/**
* @return Collection|CompanyService[]
*/
public function getCompanyServices(): Collection
{
return $this->companyServices;
}
public function addCompanyService(CompanyService $companyService): self
{
if (!$this->companyServices->contains($companyService)) {
$this->companyServices[] = $companyService;
$companyService->setCompany($this);
}
return $this;
}
public function removeCompanyService(CompanyService $companyService): self
{
if ($this->companyServices->contains($companyService)) {
$this->companyServices->removeElement($companyService);
// set the owning side to null (unless already changed)
if ($companyService->getCompany() === $this) {
$companyService->setCompany(null);
}
}
return $this;
}
CompanyType.php
->add('companyServices', EntityType::class,[
'class'=>Service::class,
'attr'=>['class'=>'company_service form-control'],
'query_builder'=>function(ServiceRepository $sr){
return $sr->findOwnerServices();
},
'choice_label' => 'service',
'multiple' => true,
'expanded' => true,
'by_reference' => false,
])
Подскажите пожалуйста, в чем проблема ?
Суть задания такое: При создании компании есть список checkbox который выбирается из Service и добавляется в CompanyService