Como crear entidades usando el ORM Doctrine de PHP

Alexis Montilla
2 min readJan 22, 2023

--

Una entidad no es mas que un archivo en el proyecto. Este archivo contiene una clase. El nombre de la clase es el nombre de la entidad.

Cada entidad estara directamente acoplada con una tabla de la base de datos. Cada propiedad de la clase sera un campo en la tabla de la base de datos correspondiente.

Primero creamos un archivo llamado User.php. Este archivo estara dentro del namespace Application\Entities;

<?php 

namespace Application\Entities;

class User
{
}

Ahora usamos la clase ORM de Doctrine. Y acoplamos la clase User con la tabla ‘users’ de base de datos. Es importante tener intalados los siguientes paquetes en el proyecto:

composer require doctrine/orm doctrine/annotations
<?php 

namespace Application\Entities;

use Doctrine\ORM\Mapping as ORM;

/**
* @ORM\Entity
* @ORM\Table(name="users")
**/
class User
{
}

La clase quedo acoplada al nombre de la tabla users. Importante tambien indicar que sera una entidad de doctrine con el comentario(anotacion) @ORM\Entity.

Luego procedemos a agregar una propiedad por cada campo de la tabla users.

En este caso empezaremos por el campo ‘id’, el cual es primary key(@ORM\id), auto-incremental(@ORM\GeneratedValue) y de tipo integer(@ORM\Column(type=»integer»)).

<?php 

namespace Application\Entities;

use Doctrine\ORM\Mapping as ORM;

/**
* @ORM\Entity
* @ORM\Table(name="users")
**/
class User
{
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
**/
protected $id;
}

Teniendo ya todas las propiedades con sus respectivos getters y setters, procedemos a ejecutar un comando para crear la entidad(tabla) en la base de datos.

php vendor/bin/doctrine orm:schema-tool:create

Este comando creara la tabla con todas las caracteristicas que le indicamos en la clase de la entidad.

--

--

Alexis Montilla

Software Enginner Full Stack 💻 | LAMP | MERN | Drummer for Hobby! | Israeli by faith 🙏