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.