All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- typo in method
checkCooldownAndFlushAfterPersiting()
tocheckCooldownAndFlushAfterPersisting()
; thanks @jacobzlogar!
- handling of
whereJsonContains()
andorWhereJsonContains()
.
- price field value generation in BookFactory to not exceed database field limits.
- use of
cache()
helper method toapp("cache")
to allow for better Lumen compatibility. Thanks @nope7777!
- test script for Laravel 5.7 to use non-dev version of test dependency.
codedungeon/phpunit-result-printer
unit test output printer.
- use of custom pagination name.
- edge-case where tag creation failed.
- usage of
forceDelete()
in the Builder.
- Laravel 5.7 compatibility.
- caching of subqueries of
->whereNotIn()
and->whereIn()
. - nested where bindings.
- where clause binding resolution issue.
- function name typo.
- dump() used for debugging.
- caching of paginated queries with page identifiers as arrays (
?page[size]=1
).
- unit tests for multiple versions of Laravel simultaneously.
- backwards-compatibility to Laravel 5.4.
- caching of queries with
whereNotIn
clauses.
- readme to specify that lazy-loaded relationships are currently not cached.
- caching of queries with
whereIn
clauses.
- database name to cache keys and tags to help with multi-tenancy use-cases.
find()
using array parameter.
- nested
whereNull
withinwhereHas
.
- caching of
between
where clauses. - test cache keys and brought them back to green.
- caching of query parameter bindings.
->inRandomOrder()
to not cache the query.
flush
console command to be calledclear
, to match other laravel commands.
- implementation of
count()
method.
- disabling of
all()
query.
- cache invalidation when
destroy()
ing models.
- cache tag generation when calling
all()
queries that prevented proper cache invalidation.
- caching of
->first()
queries.
- database connection name to cache prefix.
- exception when calling disableCache() when caching is already disabled via config.
- package dependency version to work with Laravel 5.5.
- pagination cache key generation; fixes #85.
- disabling of caching using the query scope.
- actions on belongsToMany relationships not flushing cache when needed.
- additional integration tests for additional use cases.
- flushing a specific model from the command line that extended a base class and did not use the trait directly.
- cache invalidation when using ->insert() method.
- cache invalidation when using ->update() method.
- code with some home-cleaning and refactoring.
- CachedBuilder class with some refactoring and cleanup.
- cache-invalidation-cool-down functionality.
- disabling of
->all()
method caching via config flag.
- config setting to allow disabling of model-caching.
- cache key generation for
find()
andfindOrFail()
.
- caching for
paginate()
;
- implementation tests using redis.
- additional tests for some edge case scenarios.
- cache key prefix functionality.
- tests through refactoring and cleaning up.
- unit test to make sure
Model::all()
returns a collection when only only record is retrieved. - console command to flush entire model-cache.
- hash collision logic to not run query twice if not needed.
- optional cache key prefixing.
- detection of Cachable trait to use
class_uses()
instead of looking for method.
- hash collision detection and prevetion.
- disabling of cache from using session to use cache-key instead.
- the erroneous use of
arrayEmpty()
function, changed to simplecount()
.
- refactor functionality to trait (thanks @rs-sliske!).
- readme spelling errors (thanks @fridzema!).
- whereNotIn query caching.
- whereBetween and value bindings parsing.
- Laravel 5.5 dependencies.
- Laravel 5.6 compatibility.
- previously existing unit tests to properly consider changes made in 0.2.19.
- parsing of where clause operators.
- hashing of cache keys to prevent key length over-run issues.
- dependency version constraint for "pretty test printer".
###Added
- caching for value() querybuilder method.
- tests to use Orchestral Testbench.
thanks
package.
- readme explaining
thanks
package.
- sanity checks for artisan command with feedback as to what needs to be fixed.
- ability to flush cache for a given model via Artisan command.
- ability to define custom cache store in
.env
file.
- chainable method to disable caching of queries.
- functionality to clear corresponding cache tags when model is deleted.
- caching when using
orderByRaw()
.
- test for query scopes.
- test for relationship query.
- readme file.
- travis configuration.
- code with optimizations and refactoring.
- remaining unit tests that were incomplete, thanks everyone who participated!
- added parsing of where
doesnthave()
condition.
- orderBy clause to cache key. Thanks @RobMKR for the PR!
- parsing of nested, exists, raw, and column where clauses.
- .gitignore file to reduce download size for production environment.
- parsing of where clauses with null and notnull.
- parsing of where clauses to account for some edge cases.
- additional unit tests for checking caching of lazy-loaded relationships.
- generation of cache key for queries with where clauses.
- where clause parsing when where clause is empty.
- approach to caching things. Completely rewrote the CachedBuilder class.
- many, many more tests.
- initial development of package.
- unit tests with 100% code coverage.