访问我的' userEntity'的属性的正确方法是什么?对象
{{ userEntities[1].jobs.id }}
给出错误
未定义属性:Baker \ TimeSlipBundle \ Entity \ UserDetails :: $ Jobs
转储{{ dump(userEntities[1] }}
给了我。
UserDetails {#526 ▼
-jobs: Jobs {#520 ▼
#clients: null
#company: null
#scopes: PersistentCollection {#597 ▶}
#workHours: PersistentCollection {#599 ▶}
#userDetails: PersistentCollection {#601 ▶}
-id: 52
-description: "From Web"
-jobNumber: "344.00"
-task: null
-currencies: null
-active: 0
}
-user: User {#524 ▶}
-id: 9
-userrate: "2300"
-position: "m"
}
同时调用{{ userEntities[1].id }}
可以正常工作
答案 0 :(得分:0)
你应该在UserDetails类中有一个getter方法,用于" jobs"属性
答案 1 :(得分:0)
检查您的Entity类中的作业属性名称是什么(Baker \ TimeSlipBundle \ Entity \ UserDetails.php)
答案 2 :(得分:0)
您的错误说UserDetails::$Jobs
,在您呼叫userEntities[1].jobs.id
的树枝中,以及实体$jobs
的转储返回属性Jobs
。
因此,您的错误应该是:Undefined property: Baker\TimeSlipBundle\Entity\UserDetails::$jobs
而不是$Jobs
。命名关系属性时要小心。 $jobs
建议userEntities
(UserDetail
而不是UserDetails
也可以......)可以包含多个jobs
,但转储展示a userEntities
除外}只能有一个$jobs
。
这很令人困惑。
我暂时无法看到你的地图,但我认为这是你的
UserDetails::$jobs
关联mappedBy选项:
必须等于mappedBy="jobs"
,但肯定当前等于"mappedBy=Jobs"
。
请向您的两个实体显示关联映射。