- qb: Upgrade to qb v10 (8a9be8f)
- ChildEntity: Ensure single table inheritance columns are not duplicated (2a37ead)
- HasOneThrough: Add missing matchOne method (a09196e)
- ChildEntities: Fix qualifying column on discriminated joined entities (d3559bc)
- BaseEntity: Fixed issue with NULL values being inserted into identity columns for MSSQL (4ae80fa)
- Relationships: Return default entities for non-matched eager loaded entites (b1212de)
- Child Entities: Fix casting for discriminated entities (288b81b)
- tests: Only test against Lucee 6 in cron tests (940ed80)
- tests: Add in Adobe 2023 and ColdBox 7 to the testing matrix (cd3c8da)
- Relationships: Get a new filled instance of a relationship by calling the
fill
method on the relationship object (a2da133) - Events: Add
newAttributes
andoriginalAttributes
to thepreUpdate
event (4dd8496) - Relationships: Add additional fetch methods to all relationships (9709b2f)
- Casts: Allow specifying virtual attributes with a cast (a57d092)
- Relationships: Clear the relationship cache for a relationship when using the relationship setter (f49b099)
- BaseEntity: Only computed attributes hash from persistent attributes (164b047)
- Relationships: Fix naming collision with
newEntity
function and variable name. (81aedbb) - BaseEntity: Handle null values when assigning to attributes (ba3a2f4)
- HasOneOrMany: Allow returning a new non-persisted entity (084a089)
- *: Fixed issue null check would never pass (38005c9)
- *: Update JsonCast.cfc (b92fc0a)
- *: -fixed regression for issue #203 (45095ad)
- *: remove hydrate in favor of manually assigning attributes (c87cb9c)
- *: Fixed issue where virtualAttributes were not being applied to discriminated child entities when loading through the parent (149aa9e)
- ModuleConfig: Support qb's SqlCommenter (66799c6)
- Relationships: Handle skipping constraints when a relationship is defined with other relationships (62fa4a4)
- BaseEntity: Make the withoutRelationshipConstraints check more resilient (4aedbac)
- Relationship: Required the relationship name when disabling constraints to match on (dff52d6)
- HasManyThrough: Fix for thread safety when loading multiple relationships off of a single entity (9e49f55)
- HasManyDeep: Fix qualifying column issue (72723b1)
- HasManyDeep: Remove duplicate join from addCompareConstraints (a9fa07e)
- box.json: Upgrade to latest str dependency (582e4cc)
- tests: Remove extra debug logs from tests (1ba3ca0)
- HasManyThrough: The
hasManyThrough
function now returnsHasManyDeep
relationships (1af491a) - Relationships: New
hasManyDeep
andhasManyDeepBuilder
relationships. (5331b36)
- HasManyThrough: Keep constraints of through entities for
hasManyThrough
relationships (3f3de36) - HasManyThrough: Keep constraints on final related entities in hasManyThrough (95a53d3)
- IRelationship: Update type hints to satisfy
IRelationship
interface (026d7e0)
- BaseEntity: Use the interceptor approach instead of
wirebox:targetId
to support CommandBox (164247d)
- Discriminators: Fix where discriminated entities could use the wrong qualified column name in the join with the parent entity. (682aa03)
- tests: add test case for checking null attributes on newly created entities (638754a)
- tests: add test case for deleteAll off of a hasMany relationship (1626bc5)
- tests: add test case for belongsToMany withCount (8bfad62)
- tests: add test case for firstOrNew with aliases and columns (5dc81bf)
- QuickBuilder: Return optional QuickBuilder instances for
withCount
andwithSum
(e1b17cf)
- BaseEntity: Fix clearAttribute when not setting to null (4018d54)
- QuickBuilder: Fix using a query builder instance to define a subselect (8ac6ba7)
- *: fix: revert server.json change (4182c55)
- QuickQB: Allow defaultOptions for underlying QuickQB (a1e282f)
- HasOne: Provide initialThroughConstraints for hasOne relationships (7b3b8d0)
- Tests: Add test for dynamic subselect relationships (fdf97eb)
- Relationship: Don't include orders when doing a count on a relationship (#126) (313c594)
- Testing: Migrate to new database fixtures setup (e65add5)
- Casts: Fix for retaining cast cache when creating entities (835beee)
- Format: Format with CFFormat (621ce6c)
- Cast: Preserve casted value after saving (8680b1d)
- BaseEntity: Allow for child entities included discriminated entities (28bf5e2)
- KeyType: Look up returning values by column name not by alias (f1a0832)
- EagerLoading: Skip eager loading when no keys are found (8b83529)
- Relationships: Only apply CONCAT when needed (db220e2)
- Relationships: Remove DISTINCT in favor of WHERE EXISTS (a051c98)
- Scopes: Scopes with an OR combinator are automatically grouped (3183f6d)
- docs: Fix broken link from README to official docs (6881634)
- Relationships: Add a
withCount
method to easily add relationship counts to entities (8524ef8) - QuickBuilder: Automatically scope whereHas and whereDoesntHave callbacks (38b8a46)
- ErrorMessages: Improve error message when attempting to set relationships on unloaded entities (fe4ad26)
- Relationships: Fix addSubselect and *manyThrough overflows and bugs (ab8e121)
- BelongsTo: If all the foreign keys are null, skip the database and return the default entity or null (287e990)
- BelongsTo: Reference provided localKeys instead of pulling them from the related entity (43f47aa)
- HasManyThrough: Swap final compare constraints in nested query (22d1728)
- tests: Correct jQuery link in test runner (#95) (7bb1b3d)
- QuickBuilder: Allow expressions in basic where clauses (f267c2f)
- BaseEntity: Fix delete naming collision (c7dca98)
- QuickBuilder: Add an alias to
with
(5491ba7)
- QuickBuilder: Fix stack overflow on nested relationship checks (16bae19)
- QuickBuilder: Configured tables are now used for qualifying columns (76bb1f7)
- BelongsToMany: Remove unnecessary nesting in compare queries (97e3a88)
- Relationships: Fix orWhereHas methods when querying nested relationships (8262bb3)
- JSONCast: Add support for JSON casting (137701a)
- CBORMCompatEntity: Updates for coldbox@6 (1f10fde)
- CI: Fix module id (9d9c4ab)
- Casts: Optimize cast caching (2f9b510)
- EagerLoading: Apply custom sqltypes during eager loading (c9633d3)
- BaseEntity: Account for null values in fill (3f8bc2c)
- Memento: Swap structAppend order for a Lucee bug (1e0d217)
- QuickBuilder: Prevent duplicate joins by default (a8ac022)
- BaseEntity: Enforce accessors for entities (ad16248)
- BaseEntity: Remove virtual inheritance (3b026b1)
- BaseEntity: Improve virtual column support (5ebc42c)
- CI: CI debugging (1111603)
- CI: CI debugging (19b3053)
- CI: CI debugging (6280040)
- CI: CI debugging (75bcb64)
- CI: CI debugging (fda269a)
- CI: CI debugging (5662bdc)
- CI: CI debugging (7716222)
- CI: CI debugging. :-( (1912c2a)
- CI: Add qb mapping for tests (45c5238)
- CI: Fix overriding coldbox@be installation (c4f9ae0)
- CI: Publish API docs after publishing a new version (690b95d)
- CI: Adjust CI builds to test bleeding edge on cron jobs (0ffdafc)
- CI: Clean up .travis.yml (d5753b5)
- Interceptors: Fire the postLoad event for all entities (a480ef2)
- ErrorMessages: Improve error message when accessing relationships on unloaded entities (d43f699)
- BaseEntity: Rename is and isNot to isSameAs and isNotSameAs for better ACF compatibility (fff27a1)
- BaseEntity: Improved hasRelationship check (4064619)
- QuickBuilder: Fix nested whereHas with belongsToMany Relationships (99f957e)
- BaseEntity: Fix for virtual columns trying to be updated (5f13e4f)
- BaseEntity: Qualify all column names and correctly return eager loaded belongsToMany Relationships (09f9c64)
- BaseEntity: Forward updateOrInsert calls to updateOrCreate (888fa22)
- Memento: Ensure virtual columns are included in mementos by default (6c72a46)
- BaseEntity: qualify columns when using fresh and refresh (1cce0a2)
- QuickBuilder: Clear orders when querying releationships (d77c781)
- GlobalScopes: Ensure global scopes are only applied once per query (664b288)
- BaseEntity: Duplicate metadata struct when creating new entities (5c06fa4)
- BaseEntity: Fix double applying of global scopes (b374caa)
- BaseEntity: Default polymorphicBelongsTo name to the relation method name (72352d6)
- *: v3.0.0-beta.13 (27ada30)
- *: v3.0.0-beta.12 (57c1098)
- *: v3.0.0-beta.11 (defadc4)
- *: v3.0.0-beta.10 (3ed41b4)
- *: v3.0.0-beta.9 (0e761bf)
- *: v3.0.0-beta.8 (5f33efa)
- *: chore: format with cfformat (ad9d544)
- *: v3.0.0-beta.7 (da7eb88)
- *: Update docblocks (b48e1d8)
- *: v3.0.0-beta.6 (24ad429)
- *: v3.0.0-beta.5 (27e0258)
- *: v3.0.0-beta.4 (d41d071)
- *: v3.0.0-beta.3 (59bb622)
- *: v3.0.0-beta.2 (6e2ceab)
- *: v3.0.0-beta.1 (092ce93)
- *: chore: Update docblocks (ecd3e27)
- *: v3.0.0-alpha.2 (4f01505)
- BaseEntity: Clean up virtual column naming (88d8237)
- *: docs: Fix link to Gitbook from README (5a8cf6a)
- BaseEntity: Correctly use the grammar annotation (2312e9e)
- *: chore: Use forgeboxStorage (ad6c413)
- CBORMCompat: Pass along query options in compat methods (9a2739e)
- BaseEntity: Revert calling setters when hydrating entities (670fadb)
- BaseEntity: Pass the entity to
when
closures (96a8f3a)
- BaseEntity: Account for null values with custom setters (685e175)
- BaseEntity: Reset underlying query when resetting entity (83a6fdb)
- BaseEntity: Allow entities to define a custom collection type. (9135eee)
- BaseEntity: Avoid stack overflow with getMemento and custom getters (7c9e073)
- memento: Use available getters for the memento (ba562c3)
- memento: Correctly serialize array relationships by default (479dabc)
- dependencies: Update TestBox to version 3 (a0dd6ab)
- setters: Apply setters when hydrating the entity from the database (e4a0158)
- ErrorMessages: Improve error messages for not loaded entities (f3f2e2d)
- Scopes: Query scopes can return any value (358e977)
- build: Adjust travis testbox run (790df84)
- tests: Fix strange test error on Lucee 5 with nested describe blocks (305e0a2)
- BaseEntity: Return the correct memento with accessors on (59614a0)
- BaseEntity: Add flag to ignore non-existing attributes to fill (428b31a)
- BaseEntity: Temporary fix for extra values in data (821a054)
- BaseEntity: Better caching of metadata (27b6ec3)
- build: Use openjdk8 in Travis builds (d8f7d41)
- *: docs: Fix Getting Started 404 (5c9eddd)
- Relationships: Add fetch methods to all Relationships (61a6035)
- Relationships: Prove relationship setters use the cache (953d653)
- VirtualInheritance: Certify virtual inheritance support (e105f18)
- Subselect: Return the entity after executing a subselect (87e5a7a)
- Relationships: Relationships can be set using relationship setters (e1e21a8)
- Relationships: Allow saving of ids as well as entities (3f30131)
- HasMany: Many entities can be saved to a hasMany relationship at once (c9f8f47)
- Scopes: Register global scopes for entities (995706b)
- Subselects: Add subselect helper (cf13ddd)
- Relationships: Make mapping foreign keys optional (708506d)
- box.json: Add author (b38a7ed)
- Release: v2.0.0 (425d474)
- README: Document that all fields need to be mapped (ecece5c)
- ci: Test on adobe@2018 (d42cf61)
- BaseEntity: Enable per entity datasources and grammars (561f368)
- KeyType: Add AssignedKey Type (897277d)
- Scopes: Allow scopes to call other scopes (07bbde1)
- build: Set location automatically on version update (183b05a)
- BaseEntity: Only set loaded for attributes successfully retrieved from the database (665a78a)
- Relationships: correct detach function name (5dceb17)
- *: Use logo in README (3125e6b)
- *: Add quick logo (9e26b09)
- *: Copied Readme from docs (#1) (137c688)
- box.json: remove package scripts in favor of commandbox-semantic-release (aafe02a)
- attributes: better guarding against non-existent attributes (0566e35)
- Columns: Allow attributes to set a sqltype (8c3db73)
- Relationships: pass arguments through to relationships (5962a19)
- Update: don't include the key in the SET clause (846ff78)
- *: Enable commandbox-semantic-release (e34f966)