问题标签 [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.
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 行
我做错了什么?
symfony - 同时编辑多种语言栏
我正在使用Doctorine2 扩展的可翻译表
我已经成功实现了每种语言的输入和输出数据。
但是我想同时编辑多种语言。像下面这样的代码是不正确的,但这就是我想要做的。
有没有很好的解决方案?
在php中
在树枝上
现在我明白我应该使用 github.com/a2lix/TranslationFormBundle 感谢@ghanbari 的评论
所以,我决定选择。
"stof/doctrine-extensions-bundle": "1.2.*@dev",
和
"a2lix/translation-form-bundle": "1.*@dev",
然后按照这里设置
然后我在我的 sonataadminbundle 类 myEntity.php 中设置 a2lix
当我在管理捆绑页面翻译选项卡中选择“添加新”时,会正确显示。
但是我选择编辑存在的,
出现此错误消息。
'Acme\UserBundle\Entity\myEntity' 肯定是我项目中存在的类。
为什么会发生?
symfony - 如何在树枝中打印可翻译的值(学说扩展)
我正在使用可翻译的
它可以根据当前的语言环境设置直接处理数据。
但是,有时我想通过忽略语言环境设置来访问每个数据。
在控制器中。
我可以像这样访问每个数据。
那么,有什么方法可以在树枝中获取每种语言数据?
symfony - Doctrine 行为扩展:Loggable with Timestampable
正如我从文档中了解到的那样,只要在实体中将其配置为 \Versioned,您就可以获得具有 Loggable 的实体的完整更改历史记录。我想知道这个日志历史记录是否还保留了更改的时间戳?如果没有,是否可以与 Timestampable 结合使用以获取带有时间戳的完整历史记录?或者我应该添加一个我\版本化和管理自己的时间戳字段?
我想知道某个实体发生了什么变化以及何时发生变化。
什么是解决这个问题的好方法?
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
doctrine-orm - beberlei/DoctrineExtensions zend2 出现致命错误
在使用作曲家安装它之后,我在 zend 框架 2 中为 mysql GroupConcat 使用了 beberlei 学说扩展,我从问题中更改了这样的设置:
如何在 zend 框架 2 中实现 beberlei 学说扩展
在我的本地电脑上一切正常,但是当我在远程服务器上上传我的代码时显示此错误:
我更新了代码相同的所有内容我使用composer install安装了composer并更新了远程服务器上的所有内容我确定代码相同并且composer安装了所有内容
php - 检查 DoctrineBehaviors 中的字段是否存在翻译
我的捆绑包有问题DoctrineBehaviors
。我正在尝试为没有法语翻译的实体获取特定语言(法语)的翻译。它返回后备语言,这对于前端来说是可以的,但我需要知道该语言是否有翻译,因为我需要填写我的后端。
我如何知道实体的字段是否被翻译成特定语言?
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
当然,我在监听器中添加了以下内容:
但我得到以下信息:
任何想法?