-
Notifications
You must be signed in to change notification settings - Fork 19
Open
Description
The following Quick scope is producing an erroneous table prefix for the 'where in' clause.
function scopeNotInCloneQueue( query, required string seasonUID ) {
return query.whereNotIn( "registrationID", function( sQ ) {
sQ.from( "registration_clone_queue" )
.select( "registrationID" )
.join(
"registration_clone_queue_batches",
"registration_clone_queue.batchID",
"=",
"registration_clone_queue_batches.batchID"
)
.whereTargetSeasonUID( seasonUID )
} );
}
What did you expect to happen?
The subquery should be selecting registrationID from registration_clone_queue.
What actually happened instead?
The SQL produced was to SELECT registrationID FROM registrations (the table of the parent entity where the scope lives). registrationID is the primary key.
A workaround is to specify an alias in the from
clause and refer to the registraitonID explicitly with the table prefix.
Environment
List the software versions you're using:
- Quick: 7.3.1 / Lucee 5
Metadata
Metadata
Assignees
Labels
No labels