问题标签 [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 - DoctrineExtensions - 树对象类:MyBundle\Entity\Category 此时必须有树元数据
我想为我的 Symfony2 应用程序使用 DoctrineExtensions 的树功能。
但我得到这个错误:
Symfony:v2.5.3
共同教义:v2.4.2
教义扩展:大师
我按照这个文档在 Symfony2 中安装 Gedmo Doctrine2 扩展,但似乎有问题。
php - 如何将 Doctrine 过滤器应用于 Symfony 中的整个捆绑包?
我想在我的 Symfony2 应用程序中使用 Doctrine2 的 SoftDeleteable 行为扩展来隐藏停用的用户和与其相关的实体。对于前端来说,这是一个很棒且简单的解决方案,但我想为管理部分禁用此过滤器,以便重新启用这些实体。管理部分位于一个单独的包中。
文档说禁用此过滤器就像在查询存储库之前编写此行一样容易:
现在我想问一下是否有任何方法可以为整个管理包禁用此行为,从而无需为每个相关的控制器操作取消设置此过滤器。
谢谢你。
php - 如何安装学说扩展
在学习 Symfony2 时,我找不到任何可以告诉我如何安装学说扩展库的资源。我知道我应该添加
到我的 AppKernel.php,但是作曲家呢?我安装时总是使用它,例如。DoctrineFixtures,但我不知道在这种情况下我需要添加什么。我试过
但php composer.phar update
返回 php FatalError:
doctrine-orm - 如何使用 Doctrine Translatable 获取已翻译产品的翻译关联(类别名称)?
我的默认语言环境是 pl_PL。当我切换到 en_US 时,以下代码给出了预期的结果:
但是当我想按模型\产品关联获取类别时,它没有被翻译:
是可翻译的扩展错误还是我的代码有问题?
倾倒:
型号\产品
型号\产品类别
symfony - Symfony2 Gedmo 可通过 APY DataGrid 和 KNP Paginator 进行翻译
我在使用 Gedmo\DoctrineExtensions Translatable 时遇到了一些问题。
首先是 APY DataGrid - 无法在非默认语言环境的网格中显示翻译的字符串。如果我使用默认设置的可翻译,网格中的所有字符串都以默认语言显示。如果我在 Entity 中实现 Translatable 并为表格和其他内容添加注释,那么我可以在网格中看到已翻译的字符串,但在切换语言环境后这些保持不变。似乎使用了 QueryCache,但找不到如何设置不使用它。这是网格的一部分:
当然,最好有翻译而不为它们制作注释和单独的实体。
第二个问题是 KNP 分页。实际上没有深入研究它,但类似的问题。
主要问题是,当我通过实体的可翻译字段运行一些查询时。假设我有一个名为Krepšinis的实体(立陶宛语为篮球),我已将此字符串翻译为Basketball。默认语言是LT。当我使用默认语言进行搜索时,一切正常,但是如果我将语言环境更改为EN并尝试搜索basket,它不会返回任何结果,如果我搜索krep,它会返回我Basketball。搜索代码:
任何帮助表示赞赏
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 元素分配给父实体
但如果我有更好的选择,我不愿意这样做:
所以当然这不是我正在寻找的答案类型:)
symfony - 如何在 Symfony 2.5 和最新版本中安装 DoctrineExtensions
我需要在 qb 中使用 mysql 函数,例如 DATE()、NOW()、FROM_UNIXTIME() 等。我正在阅读这个主题How to install Doctrine Extensions in a Symfony2 project。我做到了:
一切都变得正常:
Еhen 我做到了:
但!Symfony 为我返回此异常:
对不起我的英语,但在俄罗斯互联网领域没有 Symfony2 框架的普通专家。我希望你的帮助,我的朋友们!
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()
,查询会被缓存
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 中注册了它,例如:
在我的课堂上,当我使用以下方式初始化扩展时:
但是,当我运行此查询时:
我收到以下错误:
这是扩展程序的错误还是我遗漏了什么?我该怎么做呢?谢谢你。
symfony - 如何在 Symfony2 中以编程方式禁用 Blameable-behaviour
我正在尝试在 symfony2 中运行控制台命令,其中某个类的某些属性正在更新。其中一个属性有一个相应的reviewBy-property,它是由可责备行为设置的,如下所示:
当我运行任务时,没有可以“责备”的用户,所以我得到以下异常:
但是我也不能禁用可责备,因为在我开始任务并以编程方式尝试通过以下方式设置用户时,它还没有注册为过滤器:
不起作用。有人有想法吗?