Skip to content

Commit

Permalink
Merge pull request RIP-Comm#156 from jackrua/issue_151_fixing_sql
Browse files Browse the repository at this point in the history
Fixed SelectById() old query
  • Loading branch information
lucaantonelli committed Feb 25, 2024
2 parents 894dec8 + ff20378 commit bf4f7fa
Showing 1 changed file with 19 additions and 3 deletions.
22 changes: 19 additions & 3 deletions lib/model/transaction.dart
Original file line number Diff line number Diff line change
Expand Up @@ -194,10 +194,26 @@ class TransactionMethods extends SossoldiDatabase {

Future<Transaction> selectById(int id) async {
final db = await database;
final maps = await db.rawQuery(
'SELECT t.*, c.${CategoryTransactionFields.name} as ${TransactionFields.categoryName}, c.${CategoryTransactionFields.color} as ${TransactionFields.categoryColor}, c.${CategoryTransactionFields.symbol} as ${TransactionFields.categorySymbol}, b1.${BankAccountFields.name} as ${TransactionFields.bankAccountName}, b2.${BankAccountFields.name} as ${TransactionFields.bankAccountTransferName} FROM $transactionTable as t LEFT JOIN $categoryTransactionTable as c ON t.${TransactionFields.idCategory} = c.${CategoryTransactionFields.id} LEFT JOIN $bankAccountTable as b1 ON t.${TransactionFields.idBankAccount} = b1.${BankAccountFields.id} LEFT JOIN $bankAccountTable as b2 ON t.${TransactionFields.idBankAccountTransfer} = b2.${BankAccountFields.id} WHERE t.${TransactionFields.id} = ?',
[id]);

final maps = await db.rawQuery('''
SELECT t.*,
c.${CategoryTransactionFields.name} as ${TransactionFields.categoryName},
c.${CategoryTransactionFields.color} as ${TransactionFields.categoryColor},
c.${CategoryTransactionFields.symbol} as ${TransactionFields.categorySymbol},
b1.${BankAccountFields.name} as ${TransactionFields.bankAccountName},
b2.${BankAccountFields.name} as ${TransactionFields.bankAccountTransferName}
FROM
'$transactionTable' as t
LEFT JOIN
$categoryTransactionTable as c ON t.${TransactionFields.idCategory} = c.${CategoryTransactionFields.id}
LEFT JOIN
$bankAccountTable as b1 ON t.${TransactionFields.idBankAccount} = b1.${BankAccountFields.id}
LEFT JOIN
$bankAccountTable as b2 ON t.${TransactionFields.idBankAccountTransfer} = b2.${BankAccountFields.id}
WHERE
t.${TransactionFields.id} = ?
''', [id]);

if (maps.isNotEmpty) {
return Transaction.fromJson(maps.first);
} else {
Expand Down

0 comments on commit bf4f7fa

Please sign in to comment.