You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have Project, Service, User and Bookmark models. A user can bookmark a project, a service or another user.
Project, Service, Bookmark and User models are cachable.
User model:
public function bookmarkedProjects()
{
return $this->morphedByMany(Project::class, 'bookmarkable', 'bookmarks');
}
public function bookmarkedUsers()
{
return $this->morphedByMany(User::class, 'bookmarkable', 'bookmarks');
}
public function bookmarkedServices()
{
return $this->morphedByMany(Service::class, 'bookmarkable', 'bookmarks');
}
Bookmark model:
public function bookmarkable()
{
return $this->morphTo();
}
The problem is, when user deleted a bookmark, database record deleting but cache not flushing and there is no error. I have to use modelCache:clear. And if I remove Cachable from models there is no problem.
Delete function (Other functions are same. Except bookmarkable_type):
public function removeBookmarkedService(string $id)
{
Bookmark::where('bookmarkable_type', 'App\Models\Service')->where('user_id', Auth::user()->id)->where('bookmarkable_id', $id)->delete();
$this->emit('refreshPage');
}
Environment
PHP: [8.1.3]
OS: [Windows 10]
Laravel: [9.18]
Model Caching: [0.12.4]
The text was updated successfully, but these errors were encountered:
@reasecret Thanks for reporting this. @bcaballero I believe this might be due to the MorphToMany relationship -- it probably isn't enforced in caching.
It would really help if you could contribute a PR with a failing test, or even with the complete solution.
I have Project, Service, User and Bookmark models. A user can bookmark a project, a service or another user.
Project, Service, Bookmark and User models are cachable.
User model:
Bookmark model:
The problem is, when user deleted a bookmark, database record deleting but cache not flushing and there is no error. I have to use modelCache:clear. And if I remove Cachable from models there is no problem.
Delete function (Other functions are same. Except bookmarkable_type):
Environment
The text was updated successfully, but these errors were encountered: