Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

SilvioDev's avatar

Cache Permissions and Roles with Entrust

Hey I handle my permissions and roles with entrust. But after the last update I have many queries on each site which loads permissions. So I want to cache them. I saw in the EntrustUserTrait that it's using cache automatically in this version. But i still have the querries on each site. How can i solve this problem? I#m using redis as cache driver.

composer.json require: "zizaco/entrust": "5.2.x-dev" and "predis/predis": "^1.0" Thank you

0 likes
3 replies
SilvioDev's avatar

It's running all like this the whole time:

select roles., role_user.user_id as pivot_user_id, role_user.role_id as pivot_role_id from roles inner join role_user on roles.id = role_user.role_id where role_user.user_id = '1' 1.7msimo select permissions., permission_role.role_id as pivot_role_id, permission_role.permission_id as pivot_permission_id from permissions inner join permission_role on permissions.id = permission_role.permission_id where permission_role.role_id = '3' 1.13msimo select permissions., permission_role.role_id as pivot_role_id, permission_role.permission_id as pivot_permission_id from permissions inner join permission_role on permissions.id = permission_role.permission_id where permission_role.role_id = '4' 870μsimo select `permission., `permission_rol.`role_i as `pivot_role_i, `permission_rol.`permission_i as `pivot_permission_i from `permission inner join `permission_rol on `permission.`i = `permission_rol.`permission_i where `permission_rol.`role_i = '7'

SilvioDev's avatar
SilvioDev
OP
Best Answer
Level 1

Ok i found the mistake: 'ttl' => 60, is missing in config/cache.php

Jaytee's avatar

I actually just posted my own thread up, I installed Entrust version 5.2.x-dev and everything is fine.

Please or to participate in this conversation.