ravihabibillah / money_writer_app

This project is for Capstone in Independent Studies program from Dicoding X Kampus Merdeka
3 stars 1 forks source link

data tidak tampil ketika sudah di tambahkan #17

Closed ravihabibillah closed 2 years ago

ravihabibillah commented 2 years ago

ketika menambahkan data dan memilih bulan selain dari okt, nov dan des, entah data gagal diinsert atau gagal ketika nge get, kurang tau juga

ryfazrin commented 2 years ago

selain bulan 10, 11, 12 itu ternyata 1 digit

ketika memilih bulan yg ingin ditampilkan ternyata dia mengembalikan bulan dengan digit 1 misalnya bulan September itu 9, sedangkan didatabase yg tersimpan itu 2 digit, misalnya bulan September: berarti 09 bukan 9

ryfazrin commented 2 years ago

karna query LIKE itu dia harus sama persis misal bulan September didalam database tertulis 2021-09-01

kamu LIKE nya dengan kondisi '2021-9'

ryfazrin commented 2 years ago

Kode didalam database_helper.dart aku coba menambahkan karakter 0 secara manual

Future<List<Transactions>> getTransactionsJoinCategorybyMonthAndYear(
      int month, int year) async {
    var add;
    if (month == 9) {
      add = '0';
    } else {
      add = '';
    }
    final Database? db = await database;
    List<Map<String, dynamic>> results = await db!.rawQuery(
        "SELECT t.*, c.name FROM $_tblTransaction t INNER JOIN $_tblCategories c ON t.id_categories = c.id AND t.transaction_date LIKE '%$year-$add$month%' GROUP BY t.transaction_date ORDER BY t.transaction_date DESC");
    // print(results);
    return results.map((res) => Transactions.fromMap(res)).toList();
  }

  Future<List<Transactions>> getTransactionsJoinCategorybyDateMonthAndYear(
    int month,
    int year,
  ) async {
    var add;
    if (month == 9) {
      add = '0';
    } else {
      add = '';
    }
    final Database? db = await database;
    List<Map<String, dynamic>> results = await db!.rawQuery(
        "SELECT t.*, c.name FROM $_tblTransaction t INNER JOIN $_tblCategories c ON t.id_categories = c.id AND t.transaction_date LIKE '%$year-$add$month%'");
    // print(results);
    return results.map((res) => Transactions.fromMap(res)).toList();
  }

perhatikan var add, dia mengembalikan karakter 0 ketika bulan adalah 9. Setelah itu di masukkan variable add didalam query LIKE '%$year-$add$month%'...