问题标签 [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 投票
0 回答
327 浏览

php - Zend Framework 2 + Doctrine Extensions 可标记

我正在尝试将DoctrineExtension-Taggable集成到 Zend Framework 2 中。首先我添加到作曲家:

然后通过服务管理器(在 module.config.php 中)构建实例:

创建实例后,我在 EventManager 中注册了订阅者:

这就是我所做的一切。但是在这一步我有一个错误

致命错误:在 /var/www/html/fryday/vendor/zendframework/zendframework/library/Zend 中发现未捕获的异常“Zend\ServiceManager\Exception\CircularDependencyFoundException”和消息“LazyServiceLoader 的循环依赖项,例如 Doctrine\ORM\EntityManager” /ServiceManager/ServiceManager.php 第 946 行

我做错了什么?

0 投票
0 回答
887 浏览

symfony - 同时编辑多种语言栏

我正在使用Doctorine2 扩展的可翻译表

我已经成功实现了每种语言的输入和输出数据。

但是我想同时编辑多种语言。像下面这样的代码是不正确的,但这就是我想要做的。

有没有很好的解决方案?

在php中

在树枝上


现在我明白我应该使用 github.com/a2lix/TranslationFormBundle 感谢@ghanbari 的评论

所以,我决定选择。

"stof/doctrine-extensions-bundle": "1.2.*@dev",

"a2lix/translation-form-b​​undle": "1.*@dev",

然后按照这里设置

然后我在我的 sonataadminbundle 类 myEntity.php 中设置 a2lix

当我在管理捆绑页面翻译选项卡中选择“添加新”时,会正确显示。

但是我选择编辑存在的,

出现此错误消息。

'Acme\UserBundle\Entity\myEntity' 肯定是我项目中存在的类。

为什么会发生?

0 投票
1 回答
1353 浏览

symfony - 如何在树枝中打印可翻译的值(学说扩展)

我正在使用可翻译的

它可以根据当前的语言环境设置直接处理数据。

但是,有时我想通过忽略语言环境设置来访问每个数据。

在控制器中。

我可以像这样访问每个数据。

那么,有什么方法可以在树枝中获取每种语言数据?

0 投票
1 回答
622 浏览

symfony - Doctrine 行为扩展:Loggable with Timestampable

正如我从文档中了解到的那样,只要在实体中将其配置为 \Versioned,您就可以获得具有 Loggable 的实体的完整更改历史记录。我想知道这个日志历史记录是否还保留了更改的时间戳?如果没有,是否可以与 Timestampable 结合使用以获取带有时间戳的完整历史记录?或者我应该添加一个我\版本化和管理自己的时间戳字段?

我想知道某个实体发生了什么变化以及何时发生变化。

什么是解决这个问题的好方法?

0 投票
1 回答
1618 浏览

php - DoctrineExtensions 注意:未定义索引:foreignKey in $em->getRepository('Gedmo\\Translatable\\Entity\\Translation');

我尝试像这个例子一样保存多个翻译,但我有一个错误。

这是实体

翻译实体

我尝试使用多种翻译

并得到

注意:未定义索引:foreignKey

0 投票
1 回答
1764 浏览

php - 未找到默认实体翻译的翻译表单

我尝试设置翻译表格

http://a2lix.fr/bundles/translation-form/https://github.com/Atlantic18/DoctrineExtensions/blob/master/doc/translatable.md#translatable-entity-example

作曲家.json

配置.yml

stof_doctrine_extensions: default_locale: en orm: default: translatable: true sluggable: true sluggable: true timestampable: true

实体

构建形式

公共函数 buildForm(FormBuilderInterface $builder, array $options) {

错误

我没有私人 $translations;var in base - 因为是公共翻译 - 例如个人翻译存在 $translations https://github.com/Atlantic18/DoctrineExtensions/blob/master/doc/translatable.md#personal-translations

但对于https://github.com/Atlantic18/DoctrineExtensions/blob/master/doc/translatable.md#translatable-entity-example不是。

我可以在http://a2lix.fr/bundles/translation-form/中使用它吗?

这是其他方式示例 DoctrineExtensions 注意:未定义索引:$em->getRepository('Gedmo\\Translatable\\Entity\\Translation'); 中的foreignKey

0 投票
0 回答
512 浏览

doctrine-orm - beberlei/DoctrineExtensions zend2 出现致命错误

在使用作曲家安装它之后,我在 zend 框架 2 中为 mysql GroupConcat 使用了 beberlei 学说扩展,我从问题中更改了这样的设置:

如何在 zend 框架 2 中实现 beberlei 学说扩展

在我的本地电脑上一切正常,但是当我在远程服务器上上传我的代码时显示此错误:

我更新了代码相同的所有内容我使用composer install安装了composer并更新了远程服务器上的所有内容我确定代码相同并且composer安装了所有内容

0 投票
1 回答
1061 浏览

php - 检查 DoctrineBehaviors 中的字段是否存在翻译

我的捆绑包有问题DoctrineBehaviors。我正在尝试为没有法语翻译的实体获取特定语言(法语)的翻译。它返回后备语言,这对于前端来说是可以的,但我需要知道该语言是否有翻译,因为我需要填写我的后端。

我如何知道实体的字段是否被翻译成特定语言?

0 投票
1 回答
6180 浏览

symfony - Symfony2/Doctrine:获取“可记录”实体更改后更改的字段

在 Symfony2 项目中,我正在使用 Loggable Doctrine Extension。

看到有一个 LoggableListener。

当可记录实体中的(可记录)字段更改时,是否确实存在触发事件?如果是这样,有没有办法获取触发它的字段列表?

我在想象一个实体的情况,比如说 10 个字段,其中 3 个可记录。对于这 3 个中的每一个,如果它们更改值,我想执行一些操作,因此如果它们中的 3 个更改,则将执行 3 个操作。

任何想法?

谢谢!

编辑

在阅读了下面的评论并阅读了关于学说事件的文档后,我了解到有 3 个选项:

1)直接在实体级别使用生命周期回调,即使我使用的学说> 2.4也有参数

2)我可以收听和订阅 Lifecycle Events,但在这种情况下,文档说"Lifecycle events are triggered for all entities. It is the responsibility of the listeners and subscribers to check if the entity is of a type it wants to handle."

3)按照您的建议进行操作,即使用实体侦听器,您可以在实体级别定义将要“附加”到类的侦听器。

即使第一个解决方案看起来更容易,我读到“您也可以使用此侦听器来实现对所有已更改字段的验证。这比在调用昂贵的验证时使用生命周期回调更有效”。什么被认为是“昂贵的验证?”。

在我的情况下,我必须执行的是“如果实体 Y 的字段 X 发生变化,而不是在通知表上添加一个通知,说“用户 Z 将 X(Y) 的值从 A 更改为 B”

考虑到我有大约 1000 个这样的字段,哪种方法最合适?

编辑2

为了解决我的问题,我试图在监听器中注入 service_container 服务,这样我就可以访问调度程序来调度一个新事件,该事件可以执行我需要的新实体的持久化。但我该怎么做呢?

我尝试了通常的方式,将以下内容添加到 service.yml

当然,我在监听器中添加了以下内容:

但我得到以下信息:

任何想法?

0 投票
2 回答
646 浏览

symfony - 为什么树无效?

我有一个使用学说扩展的实体,树行为,我在树中发现了问题,但不知道是什么原因。

我的实体:

树问题:(由 verify() 方法报告)

表数据