Quantcast
Channel: Grafikart | Derniers Sujets du forum
Viewing all articles
Browse latest Browse all 1542

[SF3.4] Property was already declared

$
0
0

Bonjour,

Je planche sur un problème depuis 2 jours et n'ai plus vraiment les idées claires :P (et Symfony ce n'est pas vraiment ma tasse de thé)

J'ai 4 tables (dont 2 d'associations sur les 2 premières tables, pour des usages différents)
pg_product(id, name, slug, description, price, vat, enabled, role, created_at, updated_at, deleted_at)
pg_sport(id, name, slug, description)
pg_sport_accessory(sport#, product#) ==> propose des produits en option lors d'un formulaire de réservation
pg_product_sport(sport#, product#) ==> association d'un produit à un sport pour la boutique en ligne

Ce que je fais

J'ai créé mon fichier de migration SQL pour la création d'une table Slide. Puis l'ai exécuté.
Lorsque je tente de générer mon fichier de configuration doctrine en yml, j'ai une erreur sur les tables ci-dessus.

php bin/console doctrine:mapping:import "FrontBundle" yml --filter=Slide

J'obtiens l'erreur suivante :

In MappingException.php line 381:

Property "sport" in "PgProduct" was already declared, but it must be declared only once

Ce que j'obtiens

J'ai décortiré/testé/trituré mes fichiers de configuration yml de doctrine dans tous les sens sans résultat.

Product.orm.yml

FrontBundle\Entity\Product:
    type: entity
    table: pg_product
    repositoryClass: FrontBundle\Entity\ProductRepository
    uniqueConstraints:
        slug:
            columns:
                - slug
    id:
        id:
            type: integer
            nullable: false
            options:
                unsigned: true
            id: true
            generator:
                strategy: IDENTITY
    gedmo:
        soft_deleteable:
            field_name: deletedAt
            time_aware: true
            hard_delete: false
    fields:
        name:
            type: string
            nullable: false
            length: 255
            options:
                fixed: false
        slug:
            type: string
            nullable: true
            length: 255
            options:
                fixed: false
            gedmo:
              slug:
                fields:
                  - name
        description:
            type: text
            nullable: true
            length: 65535
            options:
                fixed: false
        price:
            type: decimal
            nullable: false
            precision: 6
            scale: 2
            options:
                default: '0.00'
        vat:
            type: decimal
            nullable: false
            precision: 4
            scale: 2
            options:
                default: '20.00'
        enabled:
            type: boolean
            nullable: false
            options:
                default: false
        role:
            type: string
            nullable: false
            length: 50
            options:
                fixed: 'product'
        createdAt:
            type: datetime
            gedmo:
                timestampable:
                    on: create
        updatedAt:
            type: datetime
            gedmo:
                timestampable:
                        on: update
        deletedAt:
            type: datetime
            nullable: true
    oneToMany:
        product_images:
            targetEntity: ProductImage
            mappedBy: product
            cascade: ["persist", "remove"]
    manyToMany:
        accessories:
            targetEntity: Sport
            joinTable:
                name: pg_product_sport
                joinColumns:
                    product:
                        referencedColumnName: id
                inverseJoinColumns:
                    sport:
                        referencedColumnName: id
        sports:
            targetEntity: Sport
            joinTable:
                name: pg_product_sport
                joinColumns:
                    product:
                        referencedColumnName: id
                inverseJoinColumns:
                    sport:
                        referencedColumnName: id
    lifecycleCallbacks: {  }

Sport.orm.yml

FrontBundle\Entity\Sport:
    type: entity
    table: pg_sport
    id:
        id:
            type: integer
            nullable: false
            options:
                unsigned: true
            id: true
            generator:
                strategy: IDENTITY
    fields:
        name:
            type: string
            nullable: false
            length: 250
            options:
                fixed: false
        slug:
            type: string
            nullable: false
            length: 250
            options:
                fixed: false
        description:
            type: text
            nullable: true
            length: 65535
            options:
                fixed: false
    oneToMany:
        grounds:
            targetEntity: Ground
            mappedBy: sport
        bookings:
            targetEntity: Booking
            mappedBy: sport
        cards:
            targetEntity: Card
            mappedBy: sport
    manyToMany:
        products:
            targetEntity: Product
            joinTable:
                name: pg_sport_accessory
                joinColumns:
                    sport:
                        referencedColumnName: id
                inverseJoinColumns:
                    product:
                        referencedColumnName: id
        shopProducts:
            targetEntity: Product
            joinTable:
                name: pg_product_sport
                joinColumns:
                    sport:
                        referencedColumnName: id
                inverseJoinColumns:
                    product:
                        referencedColumnName: id
    lifecycleCallbacks: {  }

Il y a quelque chose qui m'échappe, mais je ne vois vraiment pas quoi...


Viewing all articles
Browse latest Browse all 1542

Trending Articles