22.30 ms (87.34%)
|
1 |
SELECT
u.id,
u.email,
u.company_id,
MAX(u.first_name) AS first_name,
MAX(u.last_name) AS last_name,
MAX(u.reset_token) AS reset_token,
MAX(u.civility) AS civility,
MAX(u.telephone) AS telephone,
MAX(u.created_at) AS created_at,
MAX(u.is_active) AS is_active,
MAX(u.roles) AS roles,
MAX(co.name) AS company_name,
CONCAT(MAX(u.first_name), ' ', MAX(u.last_name)) AS full_name,
COALESCE(
CONCAT(
'[',
GROUP_CONCAT(
DISTINCT CAST(
JSON_OBJECT('role_id', r.id, 'role_name', r.name) AS CHAR
)
),
']'
),
'[]'
) AS roles_json,
COALESCE(
CONCAT(
'[',
GROUP_CONCAT(
DISTINCT CAST(
JSON_OBJECT(
'action_id', a.id,
'action_name', a.name,
'page_id', pa.id
) AS CHAR
)
),
']'
),
'[]'
) AS actions_json,
COALESCE(
CONCAT(
'[',
GROUP_CONCAT(
DISTINCT CAST(
JSON_OBJECT(
'page_id', pa.id,
'page_name', pa.name,
'module_id', m.id
) AS CHAR
)
),
']'
),
'[]'
) AS pages_json,
COALESCE(
CONCAT(
'[',
GROUP_CONCAT(
DISTINCT CAST(
JSON_OBJECT(
'module_id', m.id,
'module_name', m.name
) AS CHAR
)
),
']'
),
'[]'
) AS modules_json
FROM user u
LEFT JOIN company co ON co.id = u.company_id
LEFT JOIN user_roles ur ON ur.user_id = u.id
LEFT JOIN roles r ON r.id = ur.roles_id
LEFT JOIN permission p ON p.role_id = r.id
LEFT JOIN action a ON a.id = p.action_id
LEFT JOIN pages pa ON pa.id = p.page_id
LEFT JOIN modules m ON m.id = p.module_id
WHERE
u.id = :id
GROUP BY
u.id
Parameters: [
"id" => 3
]
SELECT
u.id,
u.email,
u.company_id,
MAX(u.first_name) AS first_name,
MAX(u.last_name) AS last_name,
MAX(u.reset_token) AS reset_token,
MAX(u.civility) AS civility,
MAX(u.telephone) AS telephone,
MAX(u.created_at) AS created_at,
MAX(u.is_active) AS is_active,
MAX(u.roles) AS roles,
MAX(co.name) AS company_name,
CONCAT(
MAX(u.first_name),
' ',
MAX(u.last_name)
) AS full_name,
COALESCE(
CONCAT(
'[',
GROUP_CONCAT(
DISTINCT CAST(
JSON_OBJECT(
'role_id', r.id, 'role_name', r.name
) AS CHAR
)
),
']'
),
'[]'
) AS roles_json,
COALESCE(
CONCAT(
'[',
GROUP_CONCAT(
DISTINCT CAST(
JSON_OBJECT(
'action_id', a.id, 'action_name',
a.name, 'page_id', pa.id
) AS CHAR
)
),
']'
),
'[]'
) AS actions_json,
COALESCE(
CONCAT(
'[',
GROUP_CONCAT(
DISTINCT CAST(
JSON_OBJECT(
'page_id', pa.id, 'page_name', pa.name,
'module_id', m.id
) AS CHAR
)
),
']'
),
'[]'
) AS pages_json,
COALESCE(
CONCAT(
'[',
GROUP_CONCAT(
DISTINCT CAST(
JSON_OBJECT(
'module_id', m.id, 'module_name',
m.name
) AS CHAR
)
),
']'
),
'[]'
) AS modules_json
FROM
user u
LEFT JOIN company co ON co.id = u.company_id
LEFT JOIN user_roles ur ON ur.user_id = u.id
LEFT JOIN roles r ON r.id = ur.roles_id
LEFT JOIN permission p ON p.role_id = r.id
LEFT JOIN action a ON a.id = p.action_id
LEFT JOIN pages pa ON pa.id = p.page_id
LEFT JOIN modules m ON m.id = p.module_id
WHERE
u.id = :id
GROUP BY
u.id
SELECT
u.id,
u.email,
u.company_id,
MAX(u.first_name) AS first_name,
MAX(u.last_name) AS last_name,
MAX(u.reset_token) AS reset_token,
MAX(u.civility) AS civility,
MAX(u.telephone) AS telephone,
MAX(u.created_at) AS created_at,
MAX(u.is_active) AS is_active,
MAX(u.roles) AS roles,
MAX(co.name) AS company_name,
CONCAT(MAX(u.first_name), ' ', MAX(u.last_name)) AS full_name,
COALESCE(
CONCAT(
'[',
GROUP_CONCAT(
DISTINCT CAST(
JSON_OBJECT('role_id', r.id, 'role_name', r.name) AS CHAR
)
),
']'
),
'[]'
) AS roles_json,
COALESCE(
CONCAT(
'[',
GROUP_CONCAT(
DISTINCT CAST(
JSON_OBJECT(
'action_id', a.id,
'action_name', a.name,
'page_id', pa.id
) AS CHAR
)
),
']'
),
'[]'
) AS actions_json,
COALESCE(
CONCAT(
'[',
GROUP_CONCAT(
DISTINCT CAST(
JSON_OBJECT(
'page_id', pa.id,
'page_name', pa.name,
'module_id', m.id
) AS CHAR
)
),
']'
),
'[]'
) AS pages_json,
COALESCE(
CONCAT(
'[',
GROUP_CONCAT(
DISTINCT CAST(
JSON_OBJECT(
'module_id', m.id,
'module_name', m.name
) AS CHAR
)
),
']'
),
'[]'
) AS modules_json
FROM user u
LEFT JOIN company co ON co.id = u.company_id
LEFT JOIN user_roles ur ON ur.user_id = u.id
LEFT JOIN roles r ON r.id = ur.roles_id
LEFT JOIN permission p ON p.role_id = r.id
LEFT JOIN action a ON a.id = p.action_id
LEFT JOIN pages pa ON pa.id = p.page_id
LEFT JOIN modules m ON m.id = p.module_id
WHERE
u.id = 3
GROUP BY
u.id;
|
2.73 ms (10.71%)
|
1 |
SELECT t0.id AS id_1, t0.email AS email_2, t0.roles AS roles_3, t0.password AS password_4, t0.is_active AS is_active_5, t0.reset_token AS reset_token_6, t0.first_name AS first_name_7, t0.last_name AS last_name_8, t0.created_at AS created_at_9, t0.updated_at AS updated_at_10, t0.civility AS civility_11, t0.telephone AS telephone_12, t0.company_id AS company_id_13, t14.id AS id_15, t14.email AS email_16, t14.date_of_birth AS date_of_birth_17, t14.created_at AS created_at_18, t14.salary AS salary_19, t14.last_name AS last_name_20, t14.first_name AS first_name_21, t14.civility AS civility_22, t14.telephone AS telephone_23, t14.department_id AS department_id_24, t14.fonction_id AS fonction_id_25, t14.user_id AS user_id_26 FROM user t0 LEFT JOIN employee t14 ON t14.user_id = t0.id WHERE t0.email = ? LIMIT 1
Parameters: [
"root@root.ma"
]
SELECT t0.id AS id_1, t0.email AS email_2, t0.roles AS roles_3, t0.password AS password_4, t0.is_active AS is_active_5, t0.reset_token AS reset_token_6, t0.first_name AS first_name_7, t0.last_name AS last_name_8, t0.created_at AS created_at_9, t0.updated_at AS updated_at_10, t0.civility AS civility_11, t0.telephone AS telephone_12, t0.company_id AS company_id_13, t14.id AS id_15, t14.email AS email_16, t14.date_of_birth AS date_of_birth_17, t14.created_at AS created_at_18, t14.salary AS salary_19, t14.last_name AS last_name_20, t14.first_name AS first_name_21, t14.civility AS civility_22, t14.telephone AS telephone_23, t14.department_id AS department_id_24, t14.fonction_id AS fonction_id_25, t14.user_id AS user_id_26 FROM user t0 LEFT JOIN employee t14 ON t14.user_id = t0.id WHERE t0.email = 'root@root.ma' LIMIT 1;
|