leftJoin method
Transaction
leftJoin(
- dynamic tableName, {
- dynamic tableTargetName,
- dynamic columnName,
- dynamic baseColumnName,
- dynamic function(
- Transaction query
Implementation
Transaction leftJoin(tableName, {tableTargetName, columnName, baseColumnName, Function(Transaction query)? function}) {
final trans = Transaction(
select: select,
data: data,
limit: limit,
listData: listData,
orderBy: orderBy,
where: where,
joinQuery: joinQuery,
groupBy: groupBy,
);
String q = ' LEFT JOIN $tableName ON ';
if (function != null) {
trans.joins ??= [];
function(trans);
for (int i = 0; i < trans.joins!.length; i++) {
q += (trans.joins![i].tableName ?? tableName) + '.' + trans.joins![i].columnName;
q += '=';
q += (trans.joins![i].tableTarget ?? '{NO_SELECTED_TABLE_NAME}') + '.' + (trans.joins![i].columnBase ?? '');
if (i + 1 < trans.joins!.length) {
q += ' AND ';
}
}
} else {
q += tableName + '.' + columnName;
q += '=';
q += (tableTargetName ?? '{NO_SELECTED_TABLE_NAME}') + '.' + baseColumnName;
}
trans.joinQuery += q + ' ';
return trans;
}