草庐IT

Symfony4

全部标签

php - 在 Symfony2 中使用 JOIN 条件查找

我有3个简单的表:用户、角色、具有多对多关系的user_x_role。我有2个实体:用户和角色。用户实体具有带有关系注释的$userRoles属性。在Controller中,我需要获取所有具有特定角色的用户。但我不知道如何在Controller中使用JOIN。当前错误代码:$role=$this->getDoctrine()->getRepository('TestBackEndBundle:Role');$roles=$role->findBy(array('name'=>'ROLE_PARTNER'));$user=$this->getDoctrine()->getReposito

php - 如何解析 symfony2 中非 Controller 类中的路径

我有一个继承自AbstractType的表单生成器类,我需要解析如下路径:$uri=$router->generate('blog_show',array('slug'=>'my-blog-post'));因为这个类不是Controller的子类,所以我无法访问路由器。有什么想法吗?在构建时间将路由器传递给类(class)怎么样? 最佳答案 您可以通过构造函数将router服务传递给您的表单类型。使用form.type标记将您的表单注册为服务,并向其注入(inject)router服务。router=$router;}/***@re

php - Symfony2 - bundle 的 fatal error

我遇到了错误[问题末尾的解决方案]Fatalerror:Class'symblog\Blogger\BlogBundle\SymblogBundle'notfoundin/var/www/Symfony/app/AppKernel.phponline20我提出了这个问题HowtoinstallorintegratebundlesinSymfony2,但给出的解决方案对我没有帮助,因为我已经按照那里的建议做了。我正在学习教程symblog.co.uk除了我创建于app/config/routing.yml一个*.phpresource提前致谢!我必须补充一点,在通过控制台注册bundle

php - 在重定向 symfony2 之前检查 url

if($u=$this->generateUrl('_'.$specific.'_thanks'))return$this->redirect($u);elsereturn$this->redirect($this->generateUrl('_thanks'));当它存在时,我不想重定向到_specific_thanksurl。那么如何检查一个url是否存在呢?当我这样做时,我遇到了这个错误:Route"_specific_thanks"doesnotexist. 最佳答案 我认为没有直接的方法来检查路由是否存在。但是你可以通过路

php - Symfony Sonata 管理语言不起作用

我安装了SonataadminBundle,一切正常,但我没有任何语言-admin中的按钮和文本就像之前翻译的示例一样:label.select_context,btn_filter(不是过滤器而是btn_filter)和其他-我可以在哪里设置sonataadmin的语言? 最佳答案 在config.yml中启用翻译器。喜欢。framework:translator:{fallback:"%locale%"} 关于php-SymfonySonata管理语言不起作用,我们在StackOve

php - 如果 Symfony Form 中某些字段为空,则一个字段不应为空

在我的Symfony2(2.4.2)应用程序中,有一个由3个字段组成的表单类型。我希望验证是这样的:如果fieldA和fieldB为空,则fieldC不应为空。这意味着至少一个字段应该接收一些数据。目前,我在Controller中检查接收到的数据。有更推荐的方法吗? 最佳答案 有比编写自定义验证器更简单的解决方案。最简单的可能是表达式约束:classMyEntity{private$fieldA;private$fieldB;/***@Assert\Expression(*expression="this.fieldA!=''||t

php - Symfony2 中翻译的高级定制

我有一个Symfony2项目,我正在使用Translation组件来翻译文本。我在yml文件中有所有的翻译,就像这样translation-identifier:Translatedtexthere从Twig翻译文本看起来像这样'translation-identifier'|trans({},'domain')问题是,在某些情况下,我希望同一翻译有两个不同的文本(不是为了复数)。这是我希望它的工作方式:在yml文件中为需要不同文本的翻译定义两个文本。每个都有自己独特的后缀translation-identifier-suffix1translation-identifier-suff

php - Symfony2 安全中的重定向死循环

我有一个管理区域,我们强制使用https://登录。如果用户未登录,点击路由/admin应该重定向到登录页面,但我遇到了无休止的重定向循环。不确定哪里出了问题,这是security.yml:firewalls:admin_login:pattern:^/admin/secured/login$security:falseadmin_secured_area:pattern:^/adminprovider:entity_adminform_login:check_path:/admin/secured/login_checklogin_path:/admin/secured/logind

php - 没有 Doctrine 的 Symfony2

没有Doctrine如何安装symfony2?我尝试使用composer删除包并手动卸载包,但我总是遇到错误。我的应用程序将从RestfulWS获取数据,所以我根本不需要Doctrine。 最佳答案 使用Symfonyinstaller创建一个Symfony标准版项目:symfonynewsymfony-se从您的composer.json中删除doctrine/doctrine-bundle和doctrine/orm。从AppKernel中的注册包列表中删除DoctrineBundle。从app/config/config.yml

php - Symfony2/Twig - 迭代选择选项

显示select字段的通常方式是调用{{form_row(form.doctor_service_id,{'attr':{'class':'form-control'}})}}我想做两件事:检查这个字段是否真的是一个选择字段遍历每个选项(值、名称)。我知道twig迭代器是如何工作的,我只是不知道如何访问select选项并将它们转换为它。 最佳答案 {%forkey,valinform.country.vars.choices%}{{val.label|trans}}{%endfor%}