Inicio » Cursos » Flutter y Laravel Tienda Delivery

Métodos para gestionar la DB DbHelper | Curso Flutter y Laravel Tienda Delivery

¿Qué métodos son necesarios para administrar la BD? los principales que usaremos son: Inserción por cada modelo y lectura, además de otros como adicionales

Lección 36: Métodos para gestionar la DB DbHelper

En esta ocación implementaremos los métodos necesarios para gestionar nuestra base de datos como son:

  1. Inserción por cada Modelo
  2. Lectura de datos por cada Modelo
  3. Adicionales como: Count(), Lectura por ID, etc

Recordemos que tenemos 3 modelos

CÓDIGO PARA EL MODELO CATEGORIA

// métodos categoria
  Future<int> saveCategoria(Categoria categoria) async{
    var dbCliente = await bd;
    int response = await dbCliente.insert("categoria", categoria.toMap());
    return response;
  }

  Future<List<Categoria>> getCategoria(String condicion) async{
    var dbCliente = await bd;
    List<Map> lista = await dbCliente.rawQuery("SELECT * FROM categoria WHERE "+condicion);
    List<Categoria> categoria = new List();

    for(int i = 0; i<lista.length; i++){
      categoria.add(new Categoria(
          lista[i]["id"],
          lista[i]["nombre"],
          lista[i]["urlfoto"],
        )
      );

    }
    return categoria;
  }

CÓDIGO PARA EL MODELO SUBCATEGORIA

// métodos subcategoria
  Future<int> saveSubcategoria(Subcategoria subcategoria) async{
    var dbCliente = await bd;
    int response = await dbCliente.insert("subcategoria", subcategoria.toMap());
    return response;
  }

  Future<List<Subcategoria>> getSubcategoria(String condicion) async{
    var dbCliente = await bd;
    List<Map> lista = await dbCliente.rawQuery("SELECT * FROM subcategoria WHERE "+condicion);
    List<Subcategoria> subcategoria = new List();

    for(int i = 0; i<lista.length; i++){
      subcategoria.add(new Subcategoria(
        lista[i]["id"],
        lista[i]["nombre"],
        lista[i]["urlfoto"],
        lista[i]["categorias_id"]
      )
      );

    }
    return subcategoria;
  }

CÓDIGO PARA EL MODELO PRODUCTO

// métodos productos
  Future<int> saveProducto(Producto p) async{
    var dbCliente = await bd;
    int response = await dbCliente.insert("producto", p.toMap());
    return response;
  }

  Future<List<Producto>> getProducto(String condicion) async{
    var dbCliente = await bd;
    List<Map> lista = await dbCliente.rawQuery("SELECT * FROM producto WHERE "+condicion);
    List<Producto> producto = new List();

    for(int i = 0; i<lista.length; i++){
      producto.add(new Producto(
          lista[i]["id"],
          lista[i]["nombre"],
          lista[i]["descripcion"],
          lista[i]["precio"],
          lista[i]["urlfoto"],
          lista[i]["unidad"],
          lista[i]["subcategorias_id"]
      )
      );

    }
    return producto;
  }

Finalmente agregamos un método adicional para el vaciado de las tablas

// borrar registros vaciar
  Future<int> deleteTable(String tabla, String condicion) async{
    var dbCliente = await bd;
    return await dbCliente.rawDelete("delete from "+tabla+" where "+condicion);
  }

 


868 visitas

Cursos que pueden interesarte

Codea App Codea App

México, Colombia, España, Venezuela, Argentina, Bolivia, Perú

You Fb Tik Pin

© Todos los derechos reservados Codea App | Cursos de programación | 2020 - 2023