我用Symfony2 FormBuilder创建了一个表单,我想禁用编辑视图中的一个字段.我实际上是用包装器(display:none)隐藏它但是我想知道是否有更好的方法来做到这一点.我的代码如下所示:
的EntityType
public function buildForm(FormBuilderInterface $builder, array $options) {
$builder->add('fieldToDisabledInEditView');
// ...
Run Code Online (Sandbox Code Playgroud)
EntityController
public function newAction() {
$entity = new Entity;
$form = $this->createForm(new EntityType, $entity);
// ...
}
public function editAction() {
$entity = new Entity;
$form = $this->createForm(new EntityType, $entity);
// ...
}
Run Code Online (Sandbox Code Playgroud)
新(树枝)模板
<form>
{{ form_row(form.fieldToDisabledInEditView) }}
{# ... #}
Run Code Online (Sandbox Code Playgroud)
编辑(树枝)模板
<form>
<span class="theValueOfTheHiddenField">{{ entity.fieldToDisabledInEditView }}</span>
<div style="display:none">
{{ form_row(form.fieldToDisabledInEditView) }}
</div>
{# ... #}
Run Code Online (Sandbox Code Playgroud) 我有两个通过1:1关系连接的实体,例如:MyEntity.idRelatedEntity
我想创建一个Doctrine查询,我可以MyEntity根据某个列中的某个值检索数据RelatedEntity.像这样的东西(它当然不起作用):
$entity = $em
->getRepository('MyBundle:RelatedEntity')
->createQueryBuilder('e')
->leftJoin('MyBundle:RelatedEntity', 'r')
->where('r.foo = 1')
->getQuery()
->getResult();
Run Code Online (Sandbox Code Playgroud)
任何帮助将非常感激 :)
免责声明:我不想与Google Fanboys展开任何斗争.我只是问,因为我没有找到我的问题的直接答案,也许已经开始使用它(或任何googledev)的人可以给出建议.
Google最近宣布推出Material Design Lite 1.0,该项目在几天内已经在Github上出演了9k多次.我看了一些帖子[ 1,2 ]比较MDL VS Twitter的引导,我不明白为什么有人谷歌总部外应该考虑开始使用它.
正如他们所说:
"我们挑战自己,为用户创造一种视觉语言,将优秀设计的经典原则与技术和科学的创新和可能性相结合." - Google Material Design简介
那么,他们为什么要发布MDL呢?我只是没有看到浪费时间学习/转换到一个新的前端框架,这个框架提供的内容远远少于现有框架.MDL看起来与众不同,现代且具有更好的过渡效果.就这样?有技术优势吗?
我有以下代码:
$entity = $em->getRepository('MyBundle:MyEntity')
->createQueryBuilder('q')
->...
->orderBy('q.varcharCol')
->getQuery()
->getResult();
Run Code Online (Sandbox Code Playgroud)
varcharProp 是一个包含以下值的varchar列:10,10a,101,20,300,20b,21,200.我想通过varcharProp对我的实体进行排序,但是将它作为整数进行排序,我必须在查询中进行此排序,因为我' m限制结果.
在Doctrine2中可以做这样的事情吗?
entity->orderBy('ABS(q.varcharCol)')
Run Code Online (Sandbox Code Playgroud)
或更改varcharProp列类型?
以下代码适用于我的开发环境(Ubuntu 14.04桌面)
@if(env('APP_ENV') === 'production')
// ... something
Run Code Online (Sandbox Code Playgroud)
但由于某种原因,生产中的刀片视图(ubuntu 14.04服务器)没有得到env变量.
如果我运行php artisan env响应就好了:当前的应用程序环境:生产
数据库连接正常.从控制器调用的env()帮助器也可以工作.
到目前为止我尝试了什么:
php artisan clear:cache
php artisan config:cache
php artisan clear:cache
php artisan view:clear
我也多次重启apache,没有结果.
有什么建议?谢谢!