Quantcast
Channel: y3dev
Viewing all articles
Browse latest Browse all 25

Symfony2 – Modifier un entité (configuration : yml)

$
0
0

h3ll0, nous allons voir comment modifier une entité déjà exisitante.


namespace Y3\MonProjetBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * MonEntite
 */
class MonEntite
{
    /**
     * @var integer
     */
    private $id;

    /**
     * @var integer
     */
    private $version;

    /**
     * @var \DateTime
     */
    private $creationDate;
}

Lorsque vous crée une entité un fichier de config yml est générer dans le dossier config de votre bundle :

y3/MonprojetBundle/resources/config/doctrine

vous trouverez un fichier orm.yml correspondant à la config de votre entité, exemple : MonEntite.orm.yml

Y3\MonprojetBundle\Entity\MonEntite:
    type: entity
    table: MonEntite
    id:
        id:
            type: integer
            id: true
            generator:
                strategy: AUTO
    fields:
        version:
            type: integer
            column: ref_version
        creationDate:
            type: date
            column: creation_date
        lastModified:
            type: date
            column: last_modified

Ajouter les champs que vous souhaitez à ce fichier en respectant la syntaxe.

         active:
            type: boolean
            column: active
            options:
                default: 1

Nous allons appliquer les changement effectué dans notre fichier MonEntite.orm.yml en executant la commande suivante :

app/console doctrine:generate:entities Y3MonprojetBundle:MonEntite

Retour :

Generating entity "Systra\ReferenceBundle\Entity\MonEntite"
  > backing up MonEntite.php to MonEntite.php~
  > generating Y3\MonprojetBundle\Entity\MonEntite

une entité avec vos modifications à été générer (voir en fin de fichier)

Pour appliquer cette modification à votre base de données, exécuter la requête suivante :

app/console doctrine:schema:update --force

Retour:

Updating database schema...
Database schema updated successfully! "2" queries were executed

problème pouvant se poser : Class « …. » is not a valid entity or mapped super class, voir l’article : Symfony2 – Class « …. » is not a valid entity or mapped super class pour résoudre le problème.

Si vous souhaiter savoir comment créer un entité voir l’article : Symfony2 – Créer une entité


Viewing all articles
Browse latest Browse all 25

Trending Articles