问题标签 [symfony-2.5]

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 投票
1 回答
92 浏览

symfony - 自定义表单类型将 ArrayCollection 包装在 ArrayCollection 中

我有一个多对多关系(AdditionalCostTemplate>Accommodation),并且我有一个扩展 EntityType 的自定义表单类型来填充我的 AdditionalCostTemplate 中的住宿。

如果我使用默认的 symfony2 EntityTypeFormtype,一切正常。如果我使用我的自定义 EntityType,它会将我的住宿实体包装在一个额外的ArrayCollection. 现在我将我的自定义实体剥离为仅具有不同的名称,仅此而已。错误仍然出现。

我的注释:

我的实体表单类型:

有人有什么想法吗?

0 投票
1 回答
75 浏览

symfony-2.1 - symfony 2.5 表单验证错误

我有一个带有一些小部件的表单类型 A 并映射到 C1 类。我需要一个这种形式的新小部件,它没有映射到这个类(即映射到另一个类 C2)。所以我创建了一个新的表单类型 B。这个新的表单类型 B 包含在表单类型 A 中。

表格类型 B:

FormType A 包括 FormType B:

表单显示符合预期,但提交时出现验证错误,并显示“此值无效”消息。

0 投票
1 回答
36 浏览

php - 将值与字符串 IF/FOR 语句进行比较

我目前正在尝试比较每个已保存实体的值并将结果组织到某些部分。我一辈子都找不到如何使用 twig 将变量与字符串进行比较。除了以下代码之外,我尝试过的所有错误都没有失败,而是跳过了 IF 并显示了 ELSE。我假设我做错了,但 Twig 文档没有提到如何做(我认为),我开始认为我做错了。也许我应该在控制器中这样做?

结果 =

失败!电源 2

失败!首发 0

失败!首发 1

失败!沙漠 3

失败!电源 4

任何建议都非常受欢迎。

0 投票
1 回答
459 浏览

symfony - Symfony DI 注入一个空数组而不是实体管理器对象

我正在尝试在我的验证类中注入一个实体管理器对象,但是 Symfony DI 注入了一个空数组(使用 var_dump 测试)。我不明白为什么这不起作用。这是我的一些代码。

应用程序/config.yml

我的课

它返回此异常:

我正在运行 Symfony v2.5.7。代码有什么问题吗?

0 投票
1 回答
320 浏览

symfony - Symfony2 生命周期事件不会在 update() 函数上触发

我的 postUpdate 函数仅在通过表单提交进行更改时触发,当更改来自以下更新函数时,它不会触发。我的帖子更新功能:

人生大事宣言:

不触发生命事件的调用:

0 投票
1 回答
713 浏览

fosuserbundle - 如果我没有在 Symfony2 中使用 fosuser 开始会话,则限制对我网站上的页面的访问

我已经在我的应用程序 FosUserBundle 中安装了 Symfony 2.5 版本,我可以访问我的网站:MySite/login 和注销:MySite/logout,但无论用户是否登录,我都可以访问我网站的任何页面

我该如何解决这个问题

安全.yml

0 投票
1 回答
273 浏览

php - 如何为 Doctrine 生成的代码设置换行符?

我正在开发一个使用 Doctrine 的 Symfony 2 项目。开发主要发生在 Windows 上,这就是为什么所有文件都将 \r\n 作为换行符分隔符。

但是,当向我的实体类添加新属性然后运行app/console doctrine:generate:entities​​Doctrine 时,将使用 \n 换行符添加生成的代码。这会导致文件具有不一致的换行符分隔符。下次我打开它们时,我的编辑器/IDE 会将所有 \n 替换为 \r\n 并将所有这些行显示为已更改,即使唯一的更改是换行符分隔符。

我如何告诉 Doctrine 在生成代码时它应该尊重文件中已经存在的换行符?

0 投票
1 回答
4158 浏览

symfony - Symfony2 $user 必须是 UserInterface 的实例

我在 Symfony2 中的登录和身份验证遇到了一些问题。例外情况是“$user 必须是 UserInterface 实例、实现 __toString 方法的对象或原始字符串。”

调试我的代码我可以注意到我尝试登录我的应用程序的用户可以成功通过身份验证(app/log/dev.log),但凭据 var 为空:

调试

AbstractToken 的用户变量具有数据库中的用户数据。

我继续在 ContextListener->refreshUser 函数中调试,我得到了这些值:

调试2

一切都具有 null 值,并且 Symfony\Bridge\Doctrine\Security\User\EntityUserProvider->refreshUser 函数将变量 $refreshedUser 返回为 null,因此当 ContextListener 类上的函数 $token->setUser($refreshedUser) 失败并且抛出异常。

我写下我的 security.yml 和我正在使用的实体:

安全性.yml:

抽象类 BaseUser:

类乌苏里奥:

我实现三个函数 loadUserByUsername、refreshUser 和 supportsClass 的 UsuarioRepository:

感谢您的帮助。

亲切的问候。

PS:我使用的是 Symfony 2.5.6

0 投票
2 回答
3034 浏览

php - Symfony 2 Transformer 实体表单类型

我正在尝试在 Symfony 2 中创建一个新的表单类型。它基于实体类型,它在前端使用select2,我需要用户能够选择现有实体或创建新实体。

我的想法是发送实体的 ID,如果用户选择现有实体,则让它按默认实体类型转换,或者如果用户输入新值,则发送类似“_new:输入的文本”之类的内容。然后这个字符串应该被我自己的模型转换器转换为新的表单实体,它应该看起来像这样:

不幸的是,只有在选择现有实体时才会调用转换器。当我输入一个新值时,字符串会在请求中发送,但根本不会调用转换器的 reverseTransform 方法。

我是 Symfony 的新手,所以我什至不知道这种方法是否正确。你有任何想法如何解决这个问题吗?

编辑:我的表单类型代码是:

然后我创建这个表单类型:

...

感谢您的建议

0 投票
1 回答
38 浏览

php - 教义映射字段错误

我有一个具有 2 个属性 _obc_id、obc_id 的实体

Doctrine 不能调用 set_obcId() 、 get_obcId(),它返回“既不是属性也不是方法之一”,我还写了一个 __set 和 __get ,但它不起作用。