问题标签 [stofdoctrineextensions]
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 - 树添加具有空根的子节点给我的根 = 0,NestedTreeRepository 搜索 null
我有实体
当我添加关键字时
我在数据库中 root_id = 0
当我使用
db 是 Gedmo\Tree\Entity\Repository\NestedTreeRepository
我得到空的结果。我在查询中看到 root_id 为空。但在数据库中我有 0
symfony - 实体更新时可上传的 DoctrineExtensions 不保留当前值
我正在使用 Uploadable 扩展程序,对此非常满意。我有一个字段作为可上传(照片)的实体,另一个字段是该照片的注释(注释)。当我第一次创建实体时,我选择了文件,并添加了注释,一切正常,但是当我只想更新注释时,它会丢失先前上传照片的存储路径。如果该字段出现空值,有没有办法保留旧值?
这是我的实体。
这是我的控制器部分:
symfony - 更新用 DoctrineExtensions Sortable 更改的实体
我有一个 PreUpdate 监听器,可以在其中更改条目版本。我有自己的版本控制系统(只是一个整数字段,其版本号在实体更改时增加到最高+1)。
所以如果我改变某事,版本就会增加。我也使用 DoctrineExtensions Sortable。问题是我应该将版本更改为位置更改的所有实体。
例如,如果我将实体位置更改为 4,我会给这个实体一个新版本(比如说 22)。并且随着这五个其他实体的位置发生变化(例如)。因此,对于这五个实体,我也应该将版本更改为 22。知道如何在没有 PreUpdate 事件产生的无限循环的情况下实现这一点吗?
symfony - 如果我们在 Gedmo 学说树扩展中有使用 parent_id 的现有层次结构,如何在“关闭”表中填充数据?
我有带有 parent_id 列的现有类别层次结构。我已经配置了 Gedmo Tree 扩展和更新架构。我可以看到“级别”列已添加到类别表中,并创建了 category_closure 表。
如何填充 category_closure 表中的数据。没有
ClosureTreeRepository 的方法。我尝试更新类别记录以触发 TreeListener,但 category_closure 中仍然没有数据。
如何在 category_closure 表中填充层次结构?
php - StofDoctrineExtensionsBundle 可翻译
我正在用两种语言构建 Symfony 2 应用程序,我已经实现了 StofDoctrineExtensionsBundle 的 Translatable。Translatable 使其他表 ext_translations 并存储翻译。
这是我将用来翻译的表(对象表):
这是 ext_translations 表(ext_translations 表):
当我出于某种原因在 ext_translations 表中运行代码以保存翻译时。
创建时它在对象表中写入标题,但稍后更新它只更新 ext_translations 表。
如何在 symfony 2 中使用两种语言处理更新和创建?
我是否需要复制这些输入并将它们存储在一次提交中。例如在对象表中我有标题我需要有:
当它们被提交时,更改参数 local:
然后提交上面的代码。这种应用的最佳解决方案是什么?
symfony - Symfony2:EasyAdminbundle + StofDoctrineExtensionsBundle + VichUploaderBundle
我有一个使用 EasyAdminBundle 进行管理的项目。在一个名为“Post”的实体中,我有字段“title”、“image”和“post”,我想跟踪它们的变化。属性“image”仅存储图像的文件名 - 完整的上传过程由 VichUploaderBundle 管理。
如何/在哪里可以网格化旧图像文件不会在更改时被删除,因为它将用于历史记录?
symfony - Symfony2 / Doctrine 2:Sluggable 扩展:在 onFlush 或 postUpdate 事件期间访问 slug 值
我有一个与ImageRestaurant实体具有一对一关系的餐厅实体。
我可以使用一个表单来编辑这两个实体(ImageRestauranType 嵌入在 RestaurantType 中)。
Restaurant实体有一个slug,它是由StofDoctrineExtensionsBundle生成的,并使用 Gedmo\Sluggable 注释。
每次更新Restaurant实体并重新生成slug属性时,我都尝试使用slug属性(例如slug.jpg )重命名链接到我的ImageRestaurant实体的文件。我还想更改ImageRestaurant实体的名称属性。
我有两个使用 Doctrine 事件的选项:
- onFlush 事件:
我可以访问计划更新的实体(Restaurant),但此时无法访问更新的 slug。所以我无法更新文件和ImageRestaurant实体。
- 更新后事件:
我可以访问更新的slug,但如文档中所述,此事件与数据库中的持久性无关:
这三个发布事件在 EntityManager#flush() 中调用。此处的更改与数据库中的持久性无关,但您可以使用这些事件来更改非持久性项目,例如非映射字段、日志记录,甚至是未由 Doctrine 直接映射的关联类。
对于这个事件,由于我可以访问实体 ID,我认为我可以从数据库中获取实体餐厅(新更新的实体)和ImageRestaurant并继续进行文件和ImageRestaurant更新?
关于如何实现这一目标的任何想法?
symfony - 可上传的 stof 学说扩展 - 文件“”不存在
我的问题
我很想stof/StofDoctrineExtensionsBundle
和symfony3
. 因此,$form->bind
我尝试使用 stof 文档中的示例而不是使用$form->handleRequest
. 提交表单后不幸的是,我收到以下错误:
文件“”不存在
我会很感激你告诉我我做错了什么。也许有人会这么好心并为我提供工作上传脚本的示例?
我的代码
我的控制器代码如下所示:
使用以下函数构建表单:
和我的实体类:
我正在使用此处列出的默认配置https://symfony.com/doc/master/bundles/StofDoctrineExtensionsBundle/index.html。
doctrine-orm - 如何使用 symfony3、doctrine2 和 stofDoctrineExtensionsBundle 获取 Gedmo 树元素的路径
我正在使用 Symfony v3.0.4、Doctrine v2.5.4 和 StofDoctrineExtensionsBundle [1] 来管理树结构。
为了设置树结构,我使用了 Symfony.com [2] 上的文档,然后是 GitHub [3] 上的文档。
然后我继续进行树设置 - 使用示例 [4] 中的树实体并使用 [5] 中的代码创建树。
我没有使用 [6] 和 [7],因为它似乎没有必要(据我所知,没有它的树的工作和显示)。见更新。
到目前为止,我在数据库中有一个树结构并显示它,我修改了示例 [8]。像这样:
如果我像这样修改一行:
为了获得树的每个元素的路径,我得到错误:
- [1] stofDoctrineExtensionsBundle 在 GitHub 上;
- [2] Symfony.com 上的 stofDoctrineExtensinsBundnle 文档;
- [3] GitHub 上的 Gedmo 树文档;
- [4] Gedmo 树 > 树实体示例;
- [5] Gedmo 树 > 基本使用示例;
- [6]未使用:Gedmo 树 > 树存储库;
- [7] Gedmo 树 > 使用抽象存储库;
- [8]树 html 输出示例;
- [9] NestedTreeRepository 有方法 getPath()。
正如在 [9] NestedTreeRepositry 中看到的,有一个方法 getPath()。
更新:我尝试了 [6] 但没有设法设置它。然后我尝试 [7] 设置好,但仍然错误仍然存在!
请指教。感谢您的时间和知识。