<?php
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping\Column;
use Doctrine\ORM\Mapping\Entity;
use Doctrine\ORM\Mapping\GeneratedValue;
use Doctrine\ORM\Mapping\Id;
use Doctrine\ORM\Mapping\JoinColumn;
use Doctrine\ORM\Mapping\JoinTable;
use Doctrine\ORM\Mapping\ManyToMany;
use Doctrine\ORM\Mapping\ManyToOne;
use Doctrine\ORM\Mapping\OneToMany;
use Doctrine\ORM\Mapping\Table;
/**
* @Entity
* @Table(name="lemma")
*/
class Lemma
{
public const CLASS_NAME = self::class;
/**
* @Id
* @Column(type="integer", name="lemma_id")
* @GeneratedValue(strategy="AUTO")
*/
private int $id;
/** @ManyToMany(targetEntity="Type", mappedBy="lemmas", cascade={"persist"}) */
private Collection $types;
public function __construct()
{
$this->types = new ArrayCollection();
}
}
/**
* @Entity
* @Table(name="type")
*/
class Type
{
public const CLASS_NAME = self::class;
/**
* @Id
* @Column(type="integer", name="type_id")
* @GeneratedValue(strategy="AUTO")
*/
private int $id;
/**
* @ManyToMany(targetEntity="Lemma")
* @JoinTable(name="lemma_type",
* joinColumns={@JoinColumn(name="type_id", referencedColumnName="type_id")},
* inverseJoinColumns={@JoinColumn(name="lemma_id", referencedColumnName="lemma_id")}
* )
*/
private Collection $lemmas;
public function __construct()
{
$this->lemmas = new ArrayCollection();
}
}
Bug Report
Minimal PHP Code Causing Issue
See https://getrector.org/demo/fb5d815a-c5fb-457f-939c-16403065fd67
Responsible rules
AnnotationToAttributeRectorNestedAnnotationToAttributeRectorExpected Behavior
Rector should do what it did AND add a use statement for
InverseJoinColumn