我正在使用symfony中的实体字段渲染表单.
当我选择常规实体字段时,它运行良好.
$builder
->add('parent','entity',array(
'class' => 'AppBundle:FoodAnalytics\Recipe',
'attr' => array(
'class' => 'hidden'
)
))
Run Code Online (Sandbox Code Playgroud)
当我选择 - > add('parent','hidden')时会抛出以下错误:
表单的视图数据应该是标量,数组或\ ArrayAccess的实例,但是类AppBundle\Entity\FoodAnalytics\Recipe的实例.您可以通过将"data_class"选项设置为"AppBundle\Entity\FoodAnalytics\Recipe"或添加视图转换器来将类AppBundle\Entity\FoodAnalytics\Recipe的实例转换为标量,数组或实例来避免此错误ArrayAccess接口.500内部服务器错误 - LogicException
我们不能有隐藏的实体字段吗?为什么不?我是否有义务将另一个隐藏字段用于检索实体ID?
编辑:
基本上,我正在尝试做的是在显示它之前水合表单,但阻止用户更改其中一个字段(这里的父级).这是因为我需要将Id作为参数传递,我不能在表单操作URL中执行此操作.
我正在使用twig渲染视图,我正在使用striptags过滤器来删除html标记.但是,html特殊字符现在呈现为文本,因为整个元素被""包围.我怎样才能剥离特殊字符或渲染它们,同时仍然使用striptags函数?
示例:
{{ organization.content|striptags(" >")|truncate(200, '...') }}
Run Code Online (Sandbox Code Playgroud)
要么
{{ organization.content|striptags|truncate(200, '...') }}
Run Code Online (Sandbox Code Playgroud)
输出:
"QUI SOMMES NOUS ? > NOS LOCAUXNOS LOCAUXDepuis 1995, Ce lieu chargé d’histoire et de tradition s’inscrit dans les valeurs"
Run Code Online (Sandbox Code Playgroud) 使用symfony2/doctrine2,我很难为我的查询定义索引.
我的代码:
$queryBuilder = $this->_em
->createQueryBuilder()
->select('u, uis, cost, p, stock')
->from('AppBundle:FoodAnalytics\UserIngredient', 'u', 'p.id')
->leftJoin('u.product', 'p')
->leftJoin('u.numberObjects', 'stock')
->leftJoin('u.userIngredientSuppliers', 'uis')
->leftJoin('uis.numberObjects', 'cost')
->where('u.user = ?1')
->setParameter(1, $portfolioUser)
;
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
[Semantical Error] line 0, col 110 near 'p LEFT JOIN u.numberObjects': Error: 'p' is already defined.
500 Internal Server Error - QueryException
1 linked Exception: QueryException »
[1/2] QueryException: SELECT u, uis, cost, p, stock FROM AppBundle:FoodAnalytics\UserIngredient u INDEX BY p.id LEFT JOIN u.product p LEFT JOIN u.numberObjects stock LEFT JOIN …Run Code Online (Sandbox Code Playgroud) 在我的服务器上,我使用弹性搜索,它经常下降,结果是我的用户500错误.
我知道systemD现在是管理服务的参考.那个我能接受.
如何在发生故障时自动重启弹性搜索服务?我找到了重新启动它的方法,但没有自动重启,没有我检查它是否已关闭.
在我的twig应用程序中,我有一个控制器渲染视图.
这个观点如下:
{% extends ':Template/Backend:backend.html.twig' %}
{% block title_wrapper %}
{% endblock %}
{% block body %}
My code
{% endblock %}
Run Code Online (Sandbox Code Playgroud)
在backend.html.twig中,我有:
{% extends ':Template/base.html.twig' %}
{% block navbar %}
{% render controller ... %}
{% endblock %}
{% block sidebar%}
{% render controller ... %}
{% endblock %}
{% block body %}
{% endblock %}
Run Code Online (Sandbox Code Playgroud)
现在,这个页面是超级动态的,许多不同的ajax调用更新了不同的数据部分.ReactJS似乎是让它变得更简单的好方法.
我理解如何将一个组件放在另一个组件中并在此基础上构建.但是,根据我的页面内容,我的导航栏和侧边栏的内容如何使其工作?
我的问题是:
希望来自reactJS专家的一些帮助!谢谢!
在我的symfony2应用程序中,我有一个getPorfolioUser方法,它返回一个特定的用户变量.
我很期待能打电话
{%if portfolio_user%}
在树枝上.我不明白如何将其设置为全局变量,因为我在印象中只能设置固定元素或服务而不是服务方法.
我是否有义务为此编写扩展或帮助?这样做的简单方法是什么?
谢谢!
在我的Symfony2应用程序中,我构建了一个异常监听器,它让我知道未处理的错误.
当机器人访问我的页面时,我收到有关以下错误的消息,该页面位于防火墙后面:
A Token was not found in the SecurityContext.
Run Code Online (Sandbox Code Playgroud)
我还检索以下数据:
User agent Mozilla/5.0 (compatible; AhrefsBot/5.0; +http://ahrefs.com/robot/)
Trace as string #0 /home/foodmeup.net/production/releases/20150527141710/app/cache/prod/classes.php(2951): Symfony\Component\Security\Http\Firewall\AccessListener->handle(Object(Symfony\Component\HttpKernel\Event\GetResponseEvent))
#1 [internal function]: Symfony\Component\Security\Http\Firewall->onKernelRequest(Object(Symfony\Component\HttpKernel\Event\GetResponseEvent), 'kernel.request', Object(Symfony\Component\EventDispatcher\ContainerAwareEventDispatcher))
#2 /home/foodmeup.net/production/releases/20150527141710/app/cache/prod/classes.php(2205): call_user_func(Array, Object(Symfony\Component\HttpKernel\Event\GetResponseEvent), 'kernel.request', Object(Symfony\Component\EventDispatcher\ContainerAwareEventDispatcher))
#3 /home/foodmeup.net/production/releases/20150527141710/app/cache/prod/classes.php(2138): Symfony\Component\EventDispatcher\EventDispatcher->doDispatch(Array, 'kernel.request', Object(Symfony\Component\HttpKernel\Event\GetResponseEvent))
#4 /home/foodmeup.net/production/releases/20150527141710/app/cache/prod/classes.php(2299): Symfony\Component\EventDispatcher\EventDispatcher->dispatch('kernel.request', Object(Symfony\Component\HttpKernel\Event\GetResponseEvent))
#5 /home/foodmeup.net/production/releases/20150527141710/app/bootstrap.php.cache(3017): Symfony\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch('kernel.request', Object(Symfony\Component\HttpKernel\Event\GetResponseEvent))
#6 /home/foodmeup.net/production/releases/20150527141710/app/bootstrap.php.cache(2990): Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object(Symfony\Component\HttpFoundation\Request), 1)
#7 /home/foodmeup.net/production/releases/20150527141710/app/bootstrap.php.cache(3139): Symfony\Component\HttpKernel\HttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#8 /home/foodmeup.net/production/releases/20150527141710/app/bootstrap.php.cache(2383): Symfony\Component\HttpKernel\DependencyInjection\ContainerAwareHttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#9 /home/foodmeup.net/production/releases/20150527141710/web/app.php(28): Symfony\Component\HttpKernel\Kernel->handle(Object(Symfony\Component\HttpFoundation\Request))
#10 {main}
Run Code Online (Sandbox Code Playgroud)
这发生在我上次更新以来的所有网站页面上,但我无法弄清楚问题是什么.如果我自己访问该页面,则没有问题,也没有异常.
我对我设置的防火墙的理解是,如果有人试图访问受保护资源,他会被重定向到登录页面而不会抛出任何错误.在这里,我担心一些用户可能会登陆错误页面而不是被重定向到登录页面.当我想通过从抛出错误时访问referer来复制错误时,我被正确地重定向,所以我不明白抛出错误与重定向用户的情况是什么.
编辑:
我的异常监听服务:
exception_listener:
class: %exception_listener.class%
arguments: [@router, @session, @security.token_storage, @email_manager, @doctrine, …Run Code Online (Sandbox Code Playgroud) 我在我的元素上添加了bootstrap工具提示参数:
<input type="text" name="appbundle" data-toggle="tooltip" data-placement="top" title="My title" class="form-control">
Run Code Online (Sandbox Code Playgroud)
我还添加了以下脚本:
$('[data-toggle="tooltip"]').tooltip();
Run Code Online (Sandbox Code Playgroud)
好吧,工具提示正在显示,但它不符合数据放置参数:它始终位于控件的底部.
我已经看到有一些定位问题,但我发现的很多都是很久以前的,我现在有自助3.3.1.
有关如何解决这个问题的任何线索?
编辑:这是一个示例代码,我正在使用相同的库.还是行不通
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="vendor/bootstrap-3.3.1/css/bootstrap-theme.min.css">
<link rel="stylesheet" href="vendor/bootstrap-3.3.1/css/bootstrap.min.css">
<link rel="stylesheet" href="vendor/jquery-ui-1.11.2/jquery-ui.min.css">
<link rel="stylesheet" href="vendor/jquery-ui-1.11.2/jquery-ui.structure.min.css">
<link rel="stylesheet" href="vendor/jquery-ui-1.11.2/jquery-ui.theme.min.css">
</head>
<body>
<script src="vendor/bootstrap-3.3.1/js/bootstrap.min.js"></script>
<script src="vendor/bootstrap-3.3.1/js/npm.js"></script>
<script src="vendor/jquery/jquery-2.1.1.min.js"></script>
<script src="vendor/jquery-ui-1.11.2/jquery-ui.min.js"></script>
<p>test</p>
<br>
<input type="text" name="appbundle" data-toggle="tooltip" data-placement="top" title="My title" class="form-control">
<script>
$(function(){
$('[data-toggle="tooltip"]').tooltip();
});
</script>
</body>
Run Code Online (Sandbox Code Playgroud) 在symfony2,doctrine2中,我有一个触发错误的查询:
Error "1038 Out of sort memory, consider increasing server sort buffer size
Run Code Online (Sandbox Code Playgroud)
查询:
$queryBuilder = $this
->createQueryBuilder('object')
->leftJoin('object.objectCategory', 'c')
->leftJoin('object.medias', 'm')
->leftJoin('object.recipients', 'r')
->leftJoin('object.answers', 'a')
->leftJoin('object.tags', 't')
->leftJoin('object.user', 'u')
->leftJoin('object.votes', 'v')
->leftJoin('object.comments', 'comments')
->leftJoin('v.user', 'vuser')
->addSelect('c, t, v, u')
->groupBy('object, c, t, v, u')
->where('object.isVisible = :isVisible')
->orderBy('object.createdAt', 'DESC')
->setParameter('isVisible', true)
->addSelect('SUM(v.value) AS HIDDEN vote_value')
->orderBy('vote_value', 'DESC')
;
Run Code Online (Sandbox Code Playgroud)
如果我省略了分组,它运行得很好.如果我用较少的元素添加select和group,它也运行正常但是我在我的twig模板中启动了更多的子查询.
如何优化此查询以避免错误或通过分配更多内存(理想情况下仅用于此查询)来消除错误?
随着Symfony 2.7中资产组件的引入,如何在没有版本号的情况下输出资产的相对URL?
我使用以下代码whcih不再起作用:
<img src="{{ asset('images/user.png') | imagine_filter('default') }}" alt="Image de profil" class="img-circle whitebg">
Run Code Online (Sandbox Code Playgroud)
资产函数输出一个带有版本号的url,imagi_filter无法正确处理:
http://mywebsite.com/media/cache/resolve/default/images/user.png%3Fversion=v1.0
我的配置:
framework:
assets:
version: 'v1.0'
version_format: '%%s?version=%%s'
base_path: ~
packages:
images:
base_path: /images
version_format: ''
Run Code Online (Sandbox Code Playgroud)
理想情况下,我可以在保持此版本控制策略的同时使想象过滤器工作.否则,停用图像的版本控制可能足够好
谢谢你的帮助 !