Analyse de structures imbriquées SQLX
Lorsque vous tentez d'analyser les résultats d'une requête dans des structures imbriquées à l'aide de SQLX, il est crucial de comprendre l'approche correcte.
Dans l'exemple fourni, une erreur d'incompatibilité de type se produit car la structure Adresse n'est pas correctement intégrée dans la structure Client. Pour résoudre ce problème, l'intégration est requise.
Les structures intégrées permettent d'accéder aux champs intégrés sans avoir besoin de les préfixer avec le nom du type intégré. Cela simplifie l'accès aux champs et garantit que les champs de la structure intégrée sont correctement renseignés lors de l'analyse des résultats de la requête.
type Customer struct { Id int Name string Address // Embedded struct without tags } type Address struct { Street string `db:"street"` City string `db:"city"` }
En intégrant la structure Adresse, SQLX attribuera automatiquement les valeurs de la résultat de la requête dans les champs appropriés en fonction de leurs balises de base de données.
customer := models.Customer{} err := db.Get(&customer, `select * from users where>
Remarque que l'intégration de la structure Address aplatira la sortie JSON, supprimant l'objet d'adresse imbriqué. Pour conserver la structure imbriquée, envisagez d'utiliser une conversion de type pour mapper les champs à la structure d'origine.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!