$composerBuilder<T, CurrentColumn extends GeneratedColumn<Object> , RelatedTable extends Table, RelatedColumn extends GeneratedColumn<Object> >  method 
      
T
$composerBuilder<T, CurrentColumn extends GeneratedColumn<Object> , RelatedTable extends Table, RelatedColumn extends GeneratedColumn<Object> >({  
    
- required Composer<GeneratedDatabase, Table> composer,
- required CurrentColumn getCurrentColumn(- CurrentTable
 
- required RelatedTable referencedTable,
- required RelatedColumn getReferencedColumn(- RelatedTable
 
- required T builder(- JoinBuilder joinBuilder, {
- void $addJoinBuilderToRootComposer()?,
- void $removeJoinBuilderFromRootComposer()?,
 
A helper method for creating related composers.
For example, a filter for a categories table. There is a filter on it for filtering todos.
db.managers.categories.filter((f) => f.todos((todoFilterComposer) => todoFilterComposer.title.equals("Math Homework")))
When we filter the todos, we will be creating a todos filter composer. This function is used to build that composer. It will create he needed joins and ensure that the correct table alias name is used internaly
Implementation
T $composerBuilder<T, CurrentColumn extends GeneratedColumn,
        RelatedTable extends Table, RelatedColumn extends GeneratedColumn>(
    {required Composer composer,
    required CurrentColumn Function(CurrentTable) getCurrentColumn,
    required RelatedTable referencedTable,
    required RelatedColumn Function(RelatedTable) getReferencedColumn,
    required T Function(JoinBuilder joinBuilder,
            {void Function(JoinBuilder)? $addJoinBuilderToRootComposer,
            void Function(JoinBuilder)? $removeJoinBuilderFromRootComposer})
        builder}) {
  // Get the column of this table which will be used to build the join
  final aliasedColumn = getCurrentColumn(_aliasedTable);
  // Use the provided callbacks to create a join builder
  final referencedColumn = getReferencedColumn(referencedTable);
  final aliasName = $_aliasNameGenerator(aliasedColumn, referencedColumn);
  final aliasedReferencedTable =
      $db.alias(referencedTable as TableInfo, aliasName);
  final aliasedReferencedColumn =
      getReferencedColumn(aliasedReferencedTable as RelatedTable);
  final referencedJoinBuilder = JoinBuilder(
      currentTable: _aliasedTable,
      currentColumn: aliasedColumn,
      referencedTable: aliasedReferencedTable,
      referencedColumn: aliasedReferencedColumn);
  $addJoinBuilderToRootComposer(referencedJoinBuilder);
  return builder(referencedJoinBuilder,
      $addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer,
      $removeJoinBuilderFromRootComposer: $removeJoinBuilderFromRootComposer);
}