Laravel France

Input date

  • Avatar de HugoLeuvrey
    Membre depuis :
    10/10/2019
    Messages :
    9

    Bonjour,

    Je fais une petite appli, avec creation d'un membre ainsi que l'edition de ces informations
    Quand le membre édite son profil, je recupère les informations avec :

    {{old('nom') ?? $membre-> name}}

    cependant quand le type de l'input est date, il ne retrouve pas les informations dans la BDD... En effet dans la bdd le format et Y-M-D et l'input date a comme format D-M-Y

    J'ai essayé de faire :

    {{old('naissance') ?? $membre-> Carbon\Carbon::parse($naissance)}}

    mais le format n'est pas bon

    le plus facile serait de changer le format de la BDD en D-M-Y mais je n'ai rien trouvé dessus ...

    Si quelqu'un peut m'aider

    Merci

  • Avatar de Dom
    Membre depuis :
    17/07/2017
    Messages :
    36

    Non, le plus facile ne serait pas de changer le format, cela te donnerai enoément de complication pour la suite.
    C'est quoi comme champs ? un champs text ou un composant calendrier ?

    Et petite question en passant, pourquoi tu as :

    {{old('nom') ?? $membre-> name}}

    et pas ca :

    {{old('name') ?? $membre-> name}}

    Pour le format de la date, tu pourrais plutot faire un accessor

    https://laravel.com/docs/6.x/eloquent-mutators#date-mutators

    Cela te permettrait de récupérer et de sauvegarder la date correctement, sans pour autant mettre trop de code dans ton blade.

  • Avatar de bestmomo
    Membre depuis :
    07/04/2013
    Messages :
    2565

    Salut Dom

    Tu voulais peut-être écrire :

    {{ old('nom', $membre-> name) }}
  • Avatar de HugoLeuvrey
    Membre depuis :
    10/10/2019
    Messages :
    9

    Merci pour vos réponses, effectivement j'ai pas mis le même nom dans la table que dans l'input ...

    Le champs qui pose problème est :

    <input type="date" name="naissance" value=" ( que mettre pour que sa s'affiche directement dans l'input au chargement de la page comme pour le nom etc ">

    Merci

Vous ne pouvez pas répondre à ce sujet.