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 :

JMSSerializerBundle changer chaines vides en NULL


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 97
    Par défaut JMSSerializerBundle changer chaines vides en NULL
    Bonjour,

    J'utilise le bundle JMSSerializerBundle pour sérializer mes entités pour mes web services à mon travail. J'ai des entités pour lesquelles je dois exposer des champs qui parfois sont vides (string vide et non pas null, me demandez pas pourquoi ils ont fait ça comme ça XD), j'aimerais savoir s'il y a un moyen simple de transformer à la sérialization ces champs vides en null pour qu'il ne les sérialize pas ?

    J'ai pensé aux propriétés virtuelles mais je me vois mal faire une fonction pour chacun de mes champs qui peuvent être vides, tester si vide renvoyer null, ça ferait beaucoup beaucoup de code pour pas grand chose et pas vraiment maintenable.

    J'ai vu sinon qu'il y avait des events disponibles, particulièrement le pre_serialize qui pourrait être intéressant, mais je ne sais pas trop comment l'exploiter. Parcourir tous les champs de l'objet, regarder s'ils sont de type string, si c'est le cas regarder si c'est une chaine vide le transformer en null ?

    Je trouve ces solutions assez moyennes, si vous avez une idée je suis preneur

    Merci d'avance.

  2. #2
    Membre émérite Avatar de tdutrion
    Homme Profil pro
    Architecte technique
    Inscrit en
    Février 2009
    Messages
    561
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 561
    Par défaut
    Bonjour,

    Pourrait-on voir le code en question ? (en fait principalement les annotations, initialisations du champ en question (constructeur ou directement sur la propriété)

    Le champ en base de donnée est il not null ? As tu des resultats avec = "" en base de donnée ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 97
    Par défaut
    Hello,

    Oui oui les champs sont bien vides (la string vide) et non pas null, et le champ est nullable. J'ai demandé à mon patron s'il avait des infos là dessus, en fait les entités qui ont certains champs à vide plutôt que d'être null proviennent d'un import de l'ancien site internet, dans la version actuelle lorsqu'on ajoute une entrée, les champs sont bien mis à null lorsqu'ils sont vides.

    Du coup plutôt que de faire un truc bizarre pour transformer les champs vide en null afin qu'ils n'apparaissent pas à la sérialization, j'ai fait un script qui exécute une requête SQL pour passer tous les champs vides à null, du coup plus de problème.

    Merci quand même

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Meilleur moyen de remplacer une chaine vide par null
    Par ToniConti dans le forum Développement de jobs
    Réponses: 2
    Dernier message: 02/09/2013, 10h11
  2. DBparameter+convertir chaine vide en null
    Par tortuegenie dans le forum ASP.NET
    Réponses: 5
    Dernier message: 23/04/2008, 15h40
  3. [V10/XE] chaine vides vs nulles :cry:
    Par 250rgv dans le forum Oracle
    Réponses: 5
    Dernier message: 25/08/2006, 09h32
  4. [8i]Chaine vide et NULL
    Par payenneville dans le forum Oracle
    Réponses: 10
    Dernier message: 26/01/2006, 18h55
  5. [BDD] renvoyer une chaine vide au lieu de null
    Par cmoulin dans le forum JDBC
    Réponses: 6
    Dernier message: 06/05/2004, 11h38

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