【问题标题】:Single id is not allowed on composite primary key in entity using knp paginator使用 knp 分页器的实体中的复合主键不允许使用单个 id
【发布时间】:2017-01-25 08:12:18
【问题描述】:

我有一个关于 knp 分页器的问题。 我使用 Symfony 2.8。 我使用 knp 分页器制作了一个具有复合主键和相应列表页面的表。 当我尝试显示时,我收到了异常。 “实体中的复合主键不允许使用单个 id” 我试图检查 knp 分页器和教义的源文件。 所以我找到了解决方法。

1)将knp选项“distinct”设置为false;

2)设置以下提示进行查询。

  • 将“knp_paginator.count”设置为查询结果的行数。
  • 将“knp_paginator.fetch_join_collection”设置为 false -- 这是必要的。

这是正确的方法吗? 有没有潜在的问题?

【问题讨论】:

    标签: symfony doctrine knppaginator


    【解决方案1】:

    您可能遇到的问题在this related issue on GitHUB这里发布:

    唯一的“问题”是当您的 Paginator 查询调用 fetch join 到集合时。解决方法是使用上面提到的常规连接。缺点是您的分页实体不会与集合水合。该集合必须在调用时延迟加载。

    【讨论】:

    • 感谢您的帮助。
    • 我了解如果使用fetch join,实体的数量与对应的行数不同。
    • @Miwanoushi 是的,确实这肯定会导致错误的页数。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-28
    相关资源
    最近更新 更多