IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

Timestampable send null information on fixtures load


Sujet :

Symfony PHP

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 6
    Par défaut Timestampable send null information on fixtures load
    Hello,

    I'm quite new to symfony. I would like to use Timastampable to fill date_created and date_updated fields in my base bue I get an error when I try to load fixtures.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    [PDOException]                                                               
      SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'date_added' c  
      annot be null
    here are my fields (from my entity).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    /**
         * @var \DateTime
         *
         * @ORM\Column(type="datetime")
         * @gedmo\Timestampable(on="create")
         */
        private $date_added;
     
        /**
         * @var \DateTime
         *
         * @ORM\Column(type="datetime")
         * @gedmo\Timestampable(on="update")
         */
        private $date_modified;
    apparently I can call Gedmo and Timestamable but it doesn't send any date :/

    Can someone help me whit this ?

    Thanks ahead. I searched for hours on the internet...

    Thomas

  2. #2
    Membre émérite
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2013
    Messages
    739
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2013
    Messages : 739
    Par défaut
    Writing in English is forbidden
    theres is no problem with fixtures load , it seems like somethings is wrong with Gedmo itself
    i think isn't well configured in the config file


    try it inside controler action

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 6
    Par défaut Timestampable send null information on fixtures load
    Bonjour,

    Je m'excuse, j'ai tellement lu de forum en anglais que j'en ai oublié que j'étais sur un forum français !!

    Merci pour votre réponse. Je ne suis pas sûr de comprendre ce que vous entendez par essayer dans le controller, comment puis-je faire cela ?

    Voici le code de mon fichier doctrine_extensions.yml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
     
    services:
        # KernelRequest listener
        extension.listener:
            class: Gestcoupons\UserBundle\Bundle\Listener\DoctrineExtensionListener
            calls:
                - [ setContainer, [ @service_container ] ]
            tags:
                # translatable sets locale after router processing
                - { name: kernel.event_listener, event: kernel.request, method: onLateKernelRequest, priority: -10 }
                # loggable hooks user username if one is in security context
                - { name: kernel.event_listener, event: kernel.request, method: onKernelRequest }
     
     
        # Doctrine Extension listeners to handle behaviors
        gedmo.listener.tree:
            class: Gedmo\Tree\TreeListener
            tags:
                - { name: doctrine.event_subscriber, connection: default }
            calls:
                - [ setAnnotationReader, [ @annotation_reader ] ]
     
        gedmo.listener.translatable:
            class: Gedmo\Translatable\TranslatableListener
            tags:
                - { name: doctrine.event_subscriber, connection: default }
            calls:
                - [ setAnnotationReader, [ @annotation_reader ] ]
                - [ setDefaultLocale, [ %locale% ] ]
                - [ setTranslationFallback, [ false ] ]
     
        gedmo.listener.timestampable:
            class: Gedmo\Timestampable\TimestampableListener
            tags:
                - { name: doctrine.event_subscriber, connection: default }
            calls:
                - [ setAnnotationReader, [ @annotation_reader ] ]
     
        gedmo.listener.sluggable:
            class: Gedmo\Sluggable\SluggableListener
            tags:
                - { name: doctrine.event_subscriber, connection: default }
            calls:
                - [ setAnnotationReader, [ @annotation_reader ] ]
     
        gedmo.listener.sortable:
            class: Gedmo\Sortable\SortableListener
            tags:
                - { name: doctrine.event_subscriber, connection: default }
            calls:
                - [ setAnnotationReader, [ @annotation_reader ] ]
     
        gedmo.listener.loggable:
            class: Gedmo\Loggable\LoggableListener
            tags:
                - { name: doctrine.event_subscriber, connection: default }
            calls:
                - [ setAnnotationReader, [ @annotation_reader ] ]
    J'obtiens cette erreur quand je tente de loader mes fixtures...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    [Symfony\Component\Yaml\Exception\ParseException]                            
      The reserved indicator "@" cannot start a plain scalar; you need to quote t  
      he scalar at line 11 (near "- [ setContainer, [ @service_container ] ]").
    et enfin voici le code de mon fichier app/Ressources/config.yml

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
     
    imports:
        - { resource: parameters.yml }
        - { resource: security.yml }
        - { resource: services.yml }
        - { resource: doctrine_extensions.yml }
     
    # Put parameters here that don't need to change on each machine where the app is deployed
    # http://symfony.com/doc/current/best_practices/configuration.html#application-related-configuration
    parameters:
        locale: en
     
    framework:
        #esi: ~
        #translator: { fallbacks: ['%locale%'] }
        secret: '%secret%'
        router:
            resource: '%kernel.root_dir%/config/routing.yml'
            strict_requirements: ~
        form: ~
        csrf_protection: ~
        validation: { enable_annotations: true }
        #serializer: { enable_annotations: true }
        templating:
            engines: ['twig']
        default_locale: '%locale%'
        trusted_hosts: ~
        trusted_proxies: ~
        session:
            # http://symfony.com/doc/current/reference/configuration/framework.html#handler-id
            handler_id:  session.handler.native_file
            save_path:   "%kernel.root_dir%/../var/sessions/%kernel.environment%"
        fragments: ~
        http_method_override: true
        assets: ~
        php_errors:
            log: true
     
    # Twig Configuration
    twig:
        debug: '%kernel.debug%'
        strict_variables: '%kernel.debug%'
     
    # Doctrine Configuration
    doctrine:
        dbal:
            driver: pdo_mysql
            host: '%database_host%'
            port: '%database_port%'
            dbname: '%database_name%'
            user: '%database_user%'
            password: '%database_password%'
            charset: UTF8
            # if using pdo_sqlite as your database driver:
            #   1. add the path in parameters.yml
            #     e.g. database_path: "%kernel.root_dir%/../var/data/data.sqlite"
            #   2. Uncomment database_path in parameters.yml.dist
            #   3. Uncomment next line:
            #path: '%database_path%'
     
        orm:
            auto_generate_proxy_classes: '%kernel.debug%'
            naming_strategy: doctrine.orm.naming_strategy.underscore
            auto_mapping: true
            mappings:
                translatable:
                    type: annotation
                    alias: Gedmo
                    prefix: Gedmo\Translatable\Entity
                    # make sure vendor library location is correct
                    dir: "%kernel.root_dir%/../vendor/gedmo/doctrine-extensions/lib/Gedmo/Translatable/Entity"
                loggable:
                    type: annotation
                    alias: Gedmo
                    prefix: Gedmo\Loggable\Entity
                    dir: "%kernel.root_dir%/../vendor/gedmo/doctrine-extensions/lib/Gedmo/Loggable/Entity"
                tree:
                    type: annotation
                    alias: Gedmo
                    prefix: Gedmo\Tree\Entity
                    dir: "%kernel.root_dir%/../vendor/gedmo/doctrine-extensions/lib/Gedmo/Tree/Entity"
     
     
    # Swiftmailer Configuration
    swiftmailer:
        transport: '%mailer_transport%'
        host: '%mailer_host%'
        username: '%mailer_user%'
        password: '%mailer_password%'
        spool: { type: memory }
    Merci encore..

  4. #4
    Membre émérite
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2013
    Messages
    739
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2013
    Messages : 739
    Par défaut
    bonjour;
    pour résoudre le premier problème:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
            calls:
                - [ setContainer, [ @service_container ] ]
    devient:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
            calls:
                - [ setContainer, [ '@service_container' ] ]
    la documentation ici

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 6
    Par défaut Merci
    Citation Envoyé par MehrezLabidi Voir le message
    bonjour;
    pour résoudre le premier problème:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
            calls:
                - [ setContainer, [ @service_container ] ]
    devient:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
            calls:
                - [ setContainer, [ '@service_container' ] ]
    la documentation ici
    Bonjour, merci pour l'aide, effectivement, petite inattention.

Discussions similaires

  1. [1.x] forcer le champ null dans les fixtures
    Par erictomcat dans le forum Symfony
    Réponses: 3
    Dernier message: 16/09/2010, 17h19
  2. rake db:fixtures:load dans sous-repertoire
    Par bab_dev dans le forum Ruby on Rails
    Réponses: 3
    Dernier message: 05/12/2007, 08h43
  3. Réponses: 2
    Dernier message: 06/07/2007, 13h27
  4. problème avec TIMESTAMP DEFAULT NULL
    Par Tchupacabra dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 06/06/2007, 16h18
  5. Réponses: 13
    Dernier message: 15/02/2006, 21h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo