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

Laravel PHP Discussion :

update boolean Datatype mismatch


Sujet :

Laravel PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 184
    Points : 46
    Points
    46
    Par défaut update boolean Datatype mismatch
    Bonjour,

    Depuis quelques jours je rencontre un soucis lors de la mise à jour d'un booléen.
    Je suis sous Laravel 8 et Postgres 13
    J'ai l'erreur suivante :

    [2021-05-03T12:29:21.026139+00:00] production.ERROR: SQLSTATE[42804]: Datatype mismatch: 7 ERREUR: la colonne « being_updated » est de type boolean mais l'expression est de type integer
    LINE 1: update "offices" set "being_updated" = $1, "updated_at" = $2...
    ^
    HINT: Vous devez réécrire l'expression ou lui appliquer une transformation de type. (SQL: update "offices" set "being_updated" = 1, "updated_at" = 2021-05-03 12:29:21 where "id" = 3)
    mon champ en base de donnée est bien boolean (non null et false par defaut).
    et voici mon code

    controller:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
                $office = $this->officeService->update($request->only([
                    'being_updated' <---- true (pas 1, ni 'true', ni 'T' mais bien true)
                ]), $id);
    service:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
        public function update(array $attributes, $id)
        {
            try {
                $office = $this->office->find($id);
                $office->update($attributes);
            } catch (\Exception $e) {
                Log::error($e->getMessage());
     
                throw $e;
            }
     
            return $office;
        }
    Je suis vraiment bloqué, est-ce que vous avez une idée ?

    Merci.

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    Bonjour,

    Que donne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dd($attributes->being_updated)

Discussions similaires

  1. [PostgreSQL] Insertion/update de boolean
    Par Titum dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 14/05/2018, 21h10
  2. Requete Update avec un boolean
    Par skillipo dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 03/12/2007, 18h40
  3. Datatype Mismatch in criteria expression
    Par jam92400 dans le forum Access
    Réponses: 2
    Dernier message: 24/06/2006, 17h14
  4. Réponses: 3
    Dernier message: 10/11/2002, 11h03
  5. update et virgule
    Par Delph dans le forum Bases de données
    Réponses: 8
    Dernier message: 27/08/2002, 14h40

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