Boa tarde,
Ao rodar o comando "vendor/bin/doctrine orm:info" após todas configurações das classes Telefone e Aluno é retornada a seguinte mensagem:
Found 2 mapped entities:
In AnnotationException.php line 69:
[Creation Error] The annotation @ManyToOne declared on property Alura\Doctrine\Entity\Telefone::$aluno does not have a property named "mappedBy". Available properties: targetEntity, cascad
e, fetch, inversedBy
orm:info
Classe Telefone:
<?php
namespace Alura\Doctrine\Entity;
/**
* @Entity
*/
class Telefone
{
/**
* @id
* @GenerateValue
* @Column(type="integer")
*/
private $id;
/**
* @Column(type="string")
*/
private $numero;
/**
* @ManyToOne(targetEntity="Aluno", mappedBy="aluno")
*/
private $aluno;
public function getId(): int
{
return $this->id;
}
public function setId(int $id): self
{
$this->id = $id;
return $this;
}
public function getNumero(): string
{
return $this->numero;
}
public function setNumero(string $numero): self
{
$this->numero = $numero;
return $this;
}
public function getAluno(): Aluno
{
return $this->aluno;
}
public function setAluno(Aluno $aluno): self
{
$this->aluno = $aluno;
return $this;
}
}
Classe Aluno:
<?php
namespace Alura\Doctrine\Entity;
/**
* @Entity
*/
class Aluno
{
/**
* @Id
* @GeneratedValue
* @Column(type="integer")
*/
private $id;
/**
* @Column(type="string")
*/
private $nome;
/**
* @OneToMany(targetEntity="Telefone")
*/
private $telefones;
public function __construct()
{
$this->telefones = new ArrayCollection();
}
public function getId(): int
{
return $this->id;
}
public function getNome(): string
{
return $this->nome;
}
public function setNome(string $nome): self
{
$this->nome = $nome;
return $this;
}
public function addTelefone(Telefone $telefone)
{
$this->telefones->add($telefone);
$telefone->setAluno($this);
return $this;
}
public function getTelefones(): Collection
{
return $this->telefones;
}
}