未定义 属性 访问树枝中的属性

undefined property accessing attribute in twig

访问我的 'userEntity' 对象属性的正确方法是什么。

{{ userEntities[1].jobs.id }}

给出错误

Undefined property: 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 }} 正常工作

您应该在 "jobs" 属性

的 UserDetails class 中有一个 getter 方法

检查您的实体 class 中的工作 属性 名称是什么 (Baker\TimeSlipBundle\Entity\UserDetails.php)

你的错误说 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"

请显示具有关联映射的两个实体。