问题标签 [doctrine-extensions]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1055 浏览

php - DoctrineExtensions - 树对象类:MyBundle\Entity\Category 此时必须有树元数据

我想为我的 Symfony2 应用程序使用 DoctrineExtensions 的树功能。

但我得到这个错误:

Symfony:v2.5.3

共同教义:v2.4.2

教义扩展:大师

我按照这个文档在 Symfony2 中安装 Gedmo Doctrine2 扩展,但似乎有问题。

0 投票
2 回答
716 浏览

php - 如何将 Doctrine 过滤器应用于 Symfony 中的整个捆绑包?

我想在我的 Symfony2 应用程序中使用 Doctrine2 的 SoftDeleteable 行为扩展来隐藏停用的用户和与其相关的实体。对于前端来说,这是一个很棒且简单的解决方案,但我想为管理部分禁用此过滤器,以便重新启用这些实体。管理部分位于一个单独的包中。

文档说禁用此过滤器就像在查询存储库之前编写此行一样容易:

现在我想问一下是否有任何方法可以为整个管理包禁用此行为,从而无需为每个相关的控制器操作取消设置此过滤器。

谢谢你。

0 投票
1 回答
1910 浏览

php - 如何安装学说扩展

在学习 Symfony2 时,我找不到任何可以告诉我如何安装学说扩展库的资源。我知道我应该添加

到我的 AppKernel.php,但是作曲家呢?我安装时总是使用它,例如。DoctrineFixtures,但我不知道在这种情况下我需要添加什么。我试过

php composer.phar update返回 php FatalError:

0 投票
0 回答
251 浏览

doctrine-orm - 如何使用 Doctrine Translatable 获取已翻译产品的翻译关联(类别名称)?

我的默认语言环境是 pl_PL。当我切换到 en_US 时,以下代码给出了预期的结果:

但是当我想按模型\产品关联获取类别时,它没有被翻译:

是可翻译的扩展错误还是我的代码有问题?

倾倒:

型号\产品

型号\产品类别

0 投票
1 回答
636 浏览

symfony - Symfony2 Gedmo 可通过 APY DataGrid 和 KNP Paginator 进行翻译

我在使用 Gedmo\DoctrineExtensions Translatable 时遇到了一些问题。

首先是 APY DataGrid - 无法在非默认语言环境的网格中显示翻译的字符串。如果我使用默认设置的可翻译,网格中的所有字符串都以默认语言显示。如果我在 Entity 中实现 Translatable 并为表格和其他内容添加注释,那么我可以在网格中看到已翻译的字符串,但在切换语言环境后这些保持不变。似乎使用了 QueryCache,但找不到如何设置不使用它。这是网格的一部分:

当然,最好有翻译而不为它们制作注释和单独的实体。

第二个问题是 KNP 分页。实际上没有深入研究它,但类似的问题。

主要问题是,当我通过实体的可翻译字段运行一些查询时。假设我有一个名为Krepšinis的实体(立陶宛语为篮球),我已将此字符串翻译为Basketball。默认语言是LT。当我使用默认语言进行搜索时,一切正常,但是如果我将语言环境更改为EN并尝试搜索basket,它不会返回任何结果,如果我搜索krep,它会返回我Basketball。搜索代码:

任何帮助表示赞赏

0 投票
1 回答
662 浏览

symfony - 带有 knp 原则扩展的 i18n 表单翻译

我正在使用“ knp Doctrine Translatable ”来翻译实体。到目前为止工作得很好。现在我想有一个通用的解决方案,它适用于任何数量的语言。所以我想使用一个嵌入式表单(集合)来处理实体的可翻译。现在一切正常,除了添加新翻译时没有设置translatable_id。有人也尝试过实现这一目标吗?我只是想知道是否有更简单的方法可以避免使事情变得过于复杂。

到目前为止,一切都很好,这里是我的类型,所以你可以更好地理解架构。

这是每种语言呈现为“一行”的 LinkTranslationType:en_EN Anchor http//url/en

例如,尝试添加这个新条目:en_EN Anchor http//url/en

我越来越 :

我试图发现 translatable_id 是如何工作的,但仍然没有时间检查整个源。最后,我也尝试 setTranslatableId ,但运气不好。(更新:在评论中)

到目前为止,我可以:

  • #1 插入新链接,但不插入翻译(它们以 NULL 保存为 traslatable_id)
  • #2 保存现有的翻译链接完美无缺

添加一些上下文的其他一些注释:

1 我试过:

2 为了保存现有的翻译,我只是将现有的链接实体传递给表单生成器

3 我知道我可以循环并将 Translatable 元素分配给父实体

但如果我有更好的选择,我不愿意这样做:

所以当然这不是我正在寻找的答案类型:)

0 投票
1 回答
381 浏览

symfony - 如何在 Symfony 2.5 和最新版本中安装 DoctrineExtensions

我需要在 qb 中使用 mysql 函数,例如 DATE()、NOW()、FROM_UNIXTIME() 等。我正在阅读这个主题How to install Doctrine Extensions in a Symfony2 project。我做到了:

一切都变得正常:

Еhen 我做到了:

但!Symfony 为我返回此异常:

对不起我的英语,但在俄罗斯互联网领域没有 Symfony2 框架的普通专家。我希望你的帮助,我的朋友们!

0 投票
1 回答
2115 浏览

php - Symfony 2.3 Gedmo 学说扩展可翻译缓存

我正在使用Gedmo Doctrine 扩展
到目前为止一切都很好,除了翻译缓存。

findByIdFullData()返回\Doctrine\ORM\Query
但翻译不会被缓存。在探查器中,我看到这样的查询:

profiler 中的所有查询都是从ext_translations. 如何使用已翻译的字符串缓存结果?

尝试使用 Array Hydration 和 memCache,但结果更加混乱,因为我的结果项目上传了无法序列化的媒体文件或其他东西。无论如何,我最终会重写大部分代码。

任何帮助表示赞赏。


编辑

我试过 Karol Wojciechowski 的回答,它解决了部分问题。它在我使用getOneOrNullResult()但不与getResult(). 这是一些代码。

在服务中:

频道存储库:

如果我更改为findActiveChannelsByGroupId($id, 1)(notice limit param),它仍然不会缓存,但是如果我更改为getOneOrNullResult(),查询会被缓存

0 投票
0 回答
4803 浏览

symfony - 错误:预期的 Doctrine\ORM\Query\Lexer::T_CLOSE_PARENTHESIS,得到“,”

我正在使用 SYmfony 中的 Doctrine 构建一个复杂的 SQL 查询,其中涉及加入多个表。

作为上述 SQL 查询的一部分,我需要使用 GROUP_CONCAT 并希望我碰到了这个可用的扩展:https ://github.com/beberlei/DoctrineExtensions/blob/master/lib/DoctrineExtensions/Query/Mysql/GroupConcat.php ,我把它放在 MyBundle\Resources\DoctrineExtensions 下,我也在我的 config.yml 中注册了它,例如:

在我的课堂上,当我使用以下方式初始化扩展时:

但是,当我运行此查询时:

我收到以下错误:

这是扩展程序的错误还是我遗漏了什么?我该怎么做呢?谢谢你。

0 投票
3 回答
2032 浏览

symfony - 如何在 Symfony2 中以编程方式禁用 Blameable-behaviour

我正在尝试在 symfony2 中运行控制台命令,其中某个类的某些属性正在更新。其中一个属性有一个相应的reviewBy-property,它是由可责备行为设置的,如下所示:

当我运行任务时,没有可以“责备”的用户,所以我得到以下异常:

但是我也不能禁用可责备,因为在我开始任务并以编程方式尝试通过以下方式设置用户时,它还没有注册为过滤器:

不起作用。有人有想法吗?