-
Notifications
You must be signed in to change notification settings - Fork 224
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Dynamic local scopes in with
clauses always returns same results, even if scope is different.
#291
Comments
@hyperized Thanks for reporting this! I will take a look at the implementation and add a test-case to and hopefully find a way to fix it. :) |
@hyperized I have been able to reproduce this issue and am trying to figure out a fix. It's complicated because this is a scope inside a relationship query. If the scope were applied to the main model directly, it would work as expected. As a work-around for the time-being, run queries with dynamic scopes in return Student::
disableModelCaching()
->where('id', 1)
->with(['progress' => static function (HasMany $model) use ($lesson) {
$model->ofLesson($lesson);
}])
->get(); |
with
clauses always returns same results, even if scope is different.
Been looking at this for a few hours now and am having a hard time coming to a solution. Any help would be appreciated, if anyone knows how we could analyze the eagerloads that are closures. |
Same issue here, any solution? |
Not yet ... if someone is willing to create a PR for this, that would be greatly appreciated. Short of that, even if someone just submits a PR with the test case, that would be great. |
Describe the bug
I'm not sure if this is a feature request or bug. I hope you don't mind I put it in bugs.
We're currently using Dynamic Local Query scopes (https://laravel.com/docs/5.8/eloquent#local-scopes -> Dynamic scopes). However it seems that the cache key does not take the dynamic aspect into account, making it rather .. static.
I could imagine that the cache key generation method can check for additional parameters when generating the key as a possible solution?
Eloquent Query
The results is that when given two different $lessons that the cache results will return the result of the first requested $lesson.
Stack Trace
n/a
Environment
Additional context
Thank you for making this package, we use it in every Laravel project to speed things up ❤️!
The text was updated successfully, but these errors were encountered: