问题标签 [symfony-2.6]
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 - 如何从Entity中postLoad的LifecycleEventArgs获取Container对象?
我正在尝试将 Container 对象(在控制器中可用)注入到使用postLoad
lifecycleCallbacks
. 该postLoad
方法的参数是LifecycleEventArgs
。EventManager
根据转储输出,我可以在中看到容器属性(我想检索)LifecycleEventArgs
,但它似乎是私有属性,并且getContainer()
在EventManager
. 以下是我的代码。
服务.yml
Ibw\JobeetBundle\Entity\Job.php
有没有其他方法可以找回?
php - Symfony 2 Sonata Admin Bundle 的显示操作不起作用
我正在按照Symfony 2 jobeet 教程将Sonata Admin Bundle集成到我的 Symfony 2.6 应用程序中。一切都很好,除了Show 动作。我有一个完整的“工作”,所以我有一个像下面这样的功能src/Ibw/JobeetBundle/Admin/JobAdmin.php
configurShowField(ShowMapper $showMapper)
当我单击“显示”按钮并转到查看页面(admin/ibw/jobeet/job/xxx/show)时,它不显示任何字段。处理的原始模板是/vendor/sonata-project/admin-bundle/Resources/views/CRUD/base_show.html.twig
:
<div class="sonata-ba-view"></div>
除了我打印的三个星号外,没有显示的内部内容。有没有我缺少的配置?
php - 从 POST 调用中捕获和上传文件
我在 REST Api 中工作,我正在发送(上传)一个POST
. 我正在使用 Symfony 2.6.8 和 FOSRestBundle,我这样做是在方法上:
这就是我得到的回应:
如何捕获该 POST 文件并创建一个文件以通过 Symfony 上传到服务器?任何人都可以给我想法或示例代码吗?
编辑1:
由于我正在使用FOSRestBundle
并且NelmioApiDocBundle
我正在使用 Nelmio 沙盒模式,如下图所示:
php - 在 Symfony2 中上传和移动文件后获取文件扩展名
我正在通过 Symfony2 上传文件,并且试图重命名原始文件以避免覆盖相同的文件。这就是我正在做的事情:
我正在重命名文件如下:
但是$uploadedFile->get('avatar')->getExtension()
没有给我上传文件的扩展名,所以我给了一个错误的文件名,比如jdsfhnhjsdf.
没有扩展名,为什么?在移动到结束路径之后或之前重命名文件的正确方法是什么?有什么建议吗?
php - 如何在 FOSRestBundle 的 RESTful API 中为 POST 方法设置正确的 JSON 响应?
我正在POST
为 RESTful API 制作一种方法。如您所见,该 API 构建在 FOSRestBundle 和 NelmioApiDoc 之上。我无法验证何时未上传文件或何时rid
缺少参数并使用正确的 JSON 响应。这就是我正在做的事情:
如果我不上传文件,我会收到以下回复:
但是由于 Symfony 异常错误不是我想要和需要的 JSON,所以代码永远不会进入if
.
如果我没有设置rid
,那么我会收到此错误:
但同样是 Symfony 异常错误,而不是 JSON。rid
如果不存在或未上传文件,我该如何响应正确的 JSON ?有什么建议吗?
php - Symfony 2 一个实体事件监听器在每个实体负载上运行
我是 Symfony 的新手并遵循Jobeet 教程。我有三个实体 - 工作、类别和用户。我有以下服务监听器。
src/Ibw/JobeetBundle/Resources/config/services.yml
src/Ibw/JobeetBundle/Doctrine/Event/Listener/JobListener.php
我预计postLoad
只会为Job实体调用它,但我发现它也为其他两个实体Category和User调用。我只setContainer
在Job实体中定义。所以,我得到了其他实体的未定义方法。我的解决方法是检查method_exists
.
有没有办法postLoad
只在特定实体上运行?
php - 如何确保已加载 Synfony 实体以触发 postLoad 事件?
我是 Symfony 的新手并遵循Jobeet 教程。我正在尝试使用服务侦听器和postLoad
. 目的是使用LiipImagineBundle在@ORM\PostPersist
. 问题是某些路由上没有加载 Job 实体,然后postLoad
没有触发。因此,使用的容器@ORM\PostPersist
不可用。
根据教程,有两条路线可以PostPersist
运行:
job/create
job/update
我发现 Job 实体没有加载,postLoad
也没有在job/create
. 路线job/update
很好,容器被注入。我发布了一些代码片段
- 服务.yml
- 作业监听器.php
- 实体\Job.php
- 作业控制器.php
src/Ibw/JobeetBundle/Resources/config/services.yml
src/Ibw/JobeetBundle/Doctrine/Event/Listener/JobListener.php
src/Ibw/JobeetBundle/Entity/Job.php
src/Ibw/JobeetBundle/Controller/JobController.php
有没有办法解决这个问题?
symfony - Symfony2 - 更改实体复选框的布局
我正在尝试学习 Symfony2。
我创建了一个实体(设施),并在数据库中给它这个演示文稿:
并且该实体与“公寓”处于多对多关系。
在 ApartementType 表单中有:
它会生成复选框,直到这里一切都很好。
我想更改复选框的显示,以在“父名称”(作为标题)内显示每个父级,并将其子级显示为复选框。
喜欢:
提前致谢。
symfony - 如何从 Sonata User Bundle 的管理员用户创建页面中删除字段?
我在 Symfony 2.6 应用程序中安装了Sonata Admin Bundle和User Bundle。我发现用户包在src/Application/Sonata/UserBundle
. 当我转到管理员用户创建页面 ( admin/sonata/user/user/create
) 时,我发现那里有很多字段:
- 一般的
- 用户名
- 电子邮件地址
- 普通密码
- 团体
- 轮廓
- 出生日期
- 名
- 姓
- 网站
- 传
- 性别
- 语言环境
- 时区
- 电话
- 社会的
- 脸书用户ID
- 脸书名称
- 推特用户ID
- 推特名称
- Google+ 用户界面
- Google+ 姓名
管理
- 角色
- 锁定
- 已到期
- 启用
- 凭据已过期
安全
- 令牌
- 两步验证码
我只需要用户名、电子邮件、密码、组、名字和姓氏来创建管理员用户。如何从该页面中删除其他不必要的字段?
php - 在 Doctrine2 实体的 ManyToMany 属性之间加入
我有这个表关系:
这就是我的实体的外观messages
和emails
外观(我刚刚添加了重要信息):
我需要获得brands
相关信息,email
但我不知道在这种情况下该怎么做。主查询中包含一些表,我得到了这个:
但我不知道从那里去哪里。我可以获得一些构建 DQL 的帮助吗?