在我的應用程序,我有用戶。 每個用戶都有一個角色(管理員,測試儀,...) 每個角色可以有多個權限(主頁視圖,contactpage視...)選擇實體限制與許多關係的深度
所以,我有一個多對多的關係
因爲我想從角色的權限和權限中獲得角色,我有雙向關係。
我想要的僅僅是選擇其角色
我的問題一個權限:當我得到許可,它就會用它與它的角色的權限的每個角色......
結果開始例如:
{
"id": 4,
"nom": "Accès au backoffice",
"slug": "page-backoffice",
"role": [
{
"id": 1,
"libelle": "Administrateur",
"permission": [
{
"id": 3,
"nom": "Visualisation du stock global",
"slug": "page-visu-stock-global",
"role": [
{
"id": 2,
"libelle": "Responsable d'exploitation",
"permission": [
{
.......
我要的是:
{
"id": 4,
"nom": "Accès au backoffice",
"slug": "page-backoffice",
"role": [
{
"id": 1,
"libelle": "Administrateur",
"slug": "administrateur"
},
{
"id": 2,
"libelle": "Responsable d'exploitation",
"slug": "responsable-exploitation"
},
....
哪有我做到了嗎?
我的ORM文件關聯信息: Permissions.orm.yml:
manyToMany:
role:
targetEntity: Role
cascade: { }
fetch: LAZY
mappedBy: permission
inversedBy: null
joinTable: null
orderBy: null
role.orm.yml:
manyToMany:
permission:
targetEntity: Permissions
cascade: { }
fetch: LAZY
mappedBy: null
inversedBy: role
joinTable:
name: role_permission
joinColumns:
-
name: role_id
referencedColumnName: id
inverseJoinColumns:
-
name: permission_id
referencedColumnName: id
orderBy: null
感謝您的幫助
你應該看看的[序列化基團](https://symfony.com/doc/current/components/serializer.html#component-serializer-attributes-groups )和[如何啓用它們](https://symfony.com/doc/current/serializer.html#using-serialization-groups-annotations)。希望它可以幫助你 – OlivierC
使用序列化不會阻止教條獲取數據做循環權限>角色>權限>角色...我錯了嗎? –
只有在需要數據時,您纔會進行懶讀取以獲取happend。事實是,你提交了你的對象作爲一個JSON,我認爲它被序列化爲一個API – OlivierC