Skip to content

relationship constraints don't propagate through HasManyThrough #241

@davidAtInleague

Description

@davidAtInleague

Constraints that are applied through a hasMany are not applied when that hasMany is used as part of a hasManyThrough.

Minimal repro as follows.

component /*Foo*/ extends="quick.models.BaseEntity" accessors=true {
	function a_() {
	        // we expect this to fail, when run, because someJunkColumn is not a valid column name in the db
		return hasMany( relationName = "a_", localKey = "x", foreignKey = "x" ).whereRaw("[someJunkColumn] = 999");
	}
	function a() {
		return hasManyThrough( [ "a_", "alike" ] )
	}
}

getInstance("Foo").with("a_").firstOrFail() // as expected, a database error: invalid column [someJunkColumn]
getInstance("Foo").with("a").firstOrFail() // no error, because additional constraints on a_ aren't applied

quick 6.2.0, quick 7.2.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions