Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Id de Aluno não foi gerado em Telefone (solução anterior do fórum não resolveu)

Bom dia. Quando gero a migração ele não gera o campo de id do aluno em Telefone.

Segue meus mapeamentos:

<?php

namespace Alura\Doctrine\Entity;

use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;

/**
 * @Entity
 */
class Aluno
{

   /**
     * @Id
     * @GeneratedValue
     * @Column(type="integer")
     */
    private int $id;

    /**
     * @Column(type="string")
     */
    private string $nome;

    /**@OneToMany(targetEntity="Telefone", mappedBy="aluno") */
    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): self
    {
        $this->telefones->add($telefone);
        $telefone->setAluno($this);
        return $this;
    }

    public function getTelefones(): Collection
    {
        return $this->telefones;
    }
}
<?php

namespace Alura\Doctrine\Entity;

/**
 * @Entity
 */
class Telefone
{
    /**
     * @Id
     * @GeneratedValue
     * @Column(type="integer") */
    private int $id;
    /**
     * @Column(type="string")
     */
    private string $numero;

    /**@ManyToOne(targetEntity="Aluno") */
    private $aluno;

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

    public function setId(int $id)
    {
        $this->id = $id;

        return $this;
    }

    public function getNumero() : string
    {
        return $this->numero;
    }

    public function setNumero(string $numero)
    {
        $this->numero = $numero;

        return $this;
    }

    public function getAluno() : Aluno
    {
        return $this->aluno;
    }

    public function setAluno(Aluno $aluno): self
    {
        $this->aluno = $aluno;
        return $this;
    }
}
4 respostas

Oi, Karolina. Esse curso possui uma nova versão:

https://cursos.alura.com.br/course/doctrine-conhecendo-orm-php

Esse que você está fazendo agora está descontinuado.

Bom dia. Ah sim ok obg. Eu já estava na metade do curso. Acha que preciso assistir esse curso atualizado desde o início?

Outra coisa, seria interessante atualizar a formação "Avançando em php" que está com o curso antigo ainda

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

solução!

Acho válido fazer o atualizado sim, Karolina. Mesmo que você assista em 2x ou 3x, pra pegar as novidades pelo menos.

Sobre a formação, avisei ao pessoal aqui que ainda tá o antigo. Obrigado. :-D

Beleza obg! Estou assistindo do início