on method

Query<(Expr<A>, Expr<B>, Expr<C>, Expr<D>, Expr<E>, Expr<F>)> on(
  1. Expr<bool?> conditionBuilder(
    1. Expr<A> a,
    2. Expr<B> b,
    3. Expr<C> c,
    4. Expr<D> d,
    5. Expr<E> e,
    6. Expr<F> f,
    )
)

Create inner JOIN using conditionBuilder in the ON clause.

Implementation

Query<(Expr<A>, Expr<B>, Expr<C>, Expr<D>, Expr<E>, Expr<F>)> on(
  Expr<bool?> Function(
    Expr<A> a,
    Expr<B> b,
    Expr<C> c,
    Expr<D> d,
    Expr<E> e,
    Expr<F> f,
  )
  conditionBuilder,
) {
  late JoinClause join;
  final q = Query._(_from._context, (
    _from._expressions.$1,
    _from._expressions.$2,
    _from._expressions.$3,
    _from._expressions.$4,
    _join._expressions.$1,
    _join._expressions.$2,
  ), (_) => join);
  final (handle, on) = q._build(conditionBuilder);
  join = JoinClause._(
    handle,
    JoinType.inner,
    _from._from(_from._expressions.toList()),
    _join._from(_join._expressions.toList()),
    on,
  );
  return q;
}