You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
na aula Enable e Disable Handlers e considerações finais do modulo, após a criação handler de disable e enable product, eu percebi que ele duplicava o registro no banco para arrumar isso e preciso arrumar no seguinte local:
PATH: /adapters/db/product.go
func (p *ProductDb) Save(product application.ProductInterface) (application.ProductInterface, error) {
var rows int
p.db.QueryRow(`select id from products where id=?`, product.GetID()).Scan(&rows)
if rows == 0 {
_, err := p.create(product)
if err != nil {
return nil, err
}
} else {
_, err := p.update(product)
if err != nil {
return nil, err
}
}
return product, nil
}
Desta forma vocês estão retornando o ID e na verdade querem um count(*) um quantidade de registros existente com aquele determinado ID, como esse select não faz um retorno do tipo int e sim um []string ele não consegue jogar o retorno na variável rows e o valor por padrão de um objeto declarado do tipo int e 0. Para arrumar esse comportamento sugiro essa alteração abaixo.
func (p *ProductDb) Save(product application.ProductInterface) (application.ProductInterface, error) {
var rows int
p.db.QueryRow(`select count(*) from products where id=?`, product.GetID()).Scan(&rows)
if rows == 0 {
_, err := p.create(product)
if err != nil {
return nil, err
}
} else {
_, err := p.update(product)
if err != nil {
return nil, err
}
}
return product, nil
}
Obrigado e até mais.
The text was updated successfully, but these errors were encountered:
Tarde pessoal,
na aula Enable e Disable Handlers e considerações finais do modulo, após a criação handler de disable e enable product, eu percebi que ele duplicava o registro no banco para arrumar isso e preciso arrumar no seguinte local:
PATH: /adapters/db/product.go
Desta forma vocês estão retornando o ID e na verdade querem um count(*) um quantidade de registros existente com aquele determinado ID, como esse select não faz um retorno do tipo int e sim um []string ele não consegue jogar o retorno na variável rows e o valor por padrão de um objeto declarado do tipo int e 0. Para arrumar esse comportamento sugiro essa alteração abaixo.
Obrigado e até mais.
The text was updated successfully, but these errors were encountered: