SelectFilter::make('Has unpaid')
->query(
fn (array $data, Builder $query): Builder =>
$query->select('persons.*')->when(
$data['value'],
fn (Builder $query, $value): Builder => $query->leftJoin('transactions', function ($join) use ($data) {
$join->on('transactions.person_id', '=', 'person.id')
->where('transactions.transaction_purpose_id', '=', $data["value"]);
})->whereNull('transactions.transaction_purpose_id')
)
)
SelectFilter::make('Has unpaid')
->query(
fn (array $data, Builder $query): Builder =>
$query->select('persons.*')->when(
$data['value'],
fn (Builder $query, $value): Builder => $query->leftJoin('transactions', function ($join) use ($data) {
$join->on('transactions.person_id', '=', 'person.id')
->where('transactions.transaction_purpose_id', '=', $data["value"]);
})->whereNull('transactions.transaction_purpose_id')
)
)