我试图在Symfony 2.3中为文本字段定义默认值.该表单用于创建和更新实体.在编辑模式下,应使用数据库给出的值,而不是默认值(当然).
编辑 这似乎是一个常见问题,很多人看过这篇文章如何在Symfony2中设置表单字段的默认值?
然而答案并不令人满意(对我来说):
所以我仍在寻找"完美"的方式,即Symfony开发人员提供的方式(必须有一个,这是一个基本要求).
这是我到目前为止,但它不起作用(表单中没有默认值).这是正确的方法吗?
// Acme\DemoBundle\Form\ProjectType.php
class ProjectType extends AbstractType
{
public function __construct(array $options = array())
{
$resolver = new OptionsResolver();
$this->setDefaultOptions($resolver);
$this->options = $resolver->resolve($options);
}
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('color', 'text', array(
"label" => "Color:"
)
);
}
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
"color" => "#0000FF"
));
}
}
Run Code Online (Sandbox Code Playgroud) 我有一系列项目,如'项目1','项目2'到'项目25'.我希望渲染后的HTML看起来像这样:
<div class="row">
<div>Item 1</div>
<div>Item 2</div>
<div>Item 3</div>
<div>Item 4</div>
<div>Item 5</div>
</div>
<div class="row">
<div>Item 6</div>
<div>Item 7</div>
<div>Item 8</div>
<div>Item 9</div>
<div>Item 10</div>
</div>
Run Code Online (Sandbox Code Playgroud)
在vue.js中表达这个的正确方法是什么?
<div class="row">
<span v-for="(item, index) in items">
// do something like this in vue.js style:
// if (item % 5 == 0) print "</div><div class='row'>"
<app-field >{{ item }}</app-field>
</span>
</div>
Run Code Online (Sandbox Code Playgroud) 我想使用backbone.js和jquery.该应用程序应该在手机上脱机运行(即"localhost"),在互联网的某个地方的服务器端后端几乎没有呼叫.
使用backbone.js实现跨域请求的最佳方法是什么?
我想使用JSON,但如果有必要,我最终可以切换回REST.
到目前为止,这是我不太令人印象深刻的代码:
App.Collections.Events = Backbone.Collection.extend({
model: Event,
url: 'http://mydomain.com/api/getevents/user_id/1/'
});
Run Code Online (Sandbox Code Playgroud) 我有一些一般参数,我想在我的应用程序中共享,如路径信息("baseurl").您最好将这些信息存储在Silex中?
场景:我正在使用Symfony 2.2.在我的必需包列表中也是我的github存储库之一,我们称之为"TestLib".
我知道我可以将github url定义为Symfony的composer.json中的附加存储库,从Github通过Composer下载"TestLib".
问题:我无法提交"TestLib"存储库,因为"TestLib"目录中没有本地.git目录.我想作曲家正在从Github取一个拉链而不是克隆它.
所以我的问题是:有没有办法在Symfony的composer.json中指定Composer应该克隆TestLib?
问题2:也许我的工作流程是错误的 - 所以如果你也有这种情况 - 你如何处理这个?
我想做一些非常简单的事情(理论上;-)):
我正在使用 Symfony 2.2.2。
这是我将列表动态添加到表单对象的方法:
// MyformType
public function buildForm(FormBuilderInterface $builder, array $options)
{
$formFactory = $builder->getFormFactory();
$builder->addEventListener(
FormEvents::PRE_SET_DATA,
function (\Symfony\Component\Form\FormEvent $event) use ($formFactory) {
$options = $event->getData();
$items = $options["items"];
foreach ($items as $item) {
$event->getForm()->add(
$formFactory->createNamed($item->getId(), "checkbox", false, array(
'label' => $item->getName()
)
)
);
}
}
);
}
public function getName()
{
return 'items';
}
Run Code Online (Sandbox Code Playgroud)
Symfony 生成如下 HTML:
<input type="checkbox" id="items_17" name="items[17]" value="1">
<input type="checkbox" id="items_16" name="items[16]" value="1">
Run Code Online (Sandbox Code Playgroud)
现在,当我尝试保存提交的数据时,我无法访问元素“items” - Symfony 抛出一个异常,表明子“items”不存在。
// controller …Run Code Online (Sandbox Code Playgroud) 我正在 Sqlalchemy 中处理“多对多”关系。我的数据模型:
class Chain(Base):
__tablename__ = "chain"
__table_args__ = {'extend_existing': True}
__guarded__ = ['id']
id = Column(Integer, primary_key=True)
name = Column(Text, nullable=False)
# .. some other fields
class JobConfig(Base):
__tablename__ = "jobconfiguration"
__table_args__ = {'extend_existing': True}
__guarded__ = ['id']
chain = relationship("Chain", secondary='chain_job')
id = Column(Integer, primary_key=True)
jobname = Column(String(250).evaluates_none(), nullable=False, unique=True)
# some other fields
class ChainJob(Base):
__tablename__ = "chain_job"
__table_args__ = {'extend_existing': True}
__guarded__ = ['id']
id = Column(Integer, primary_key=True)
chain_id = Column(Integer, ForeignKey('chain.id'))
job_id …Run Code Online (Sandbox Code Playgroud) 教义2是否支持某种"选择进入"-syntax?
在纯MySQL中,它将是这样的:
INSERT INTO tbl_temp2 (fld_id)
SELECT tbl_temp1.fld_order_id
FROM tbl_temp1 WHERE tbl_temp1.fld_order_id > 100;
Run Code Online (Sandbox Code Playgroud)
我检查了手册,但没有成功.
我有一个包含很多表格的文档。我想使用 C# 和 Microsoft.Office.Interop.Word 修改这些表。我读到我可以使用 Tables 界面遍历所有表。
问题:是否可以为表指定名称/ID 并按名称访问该表?(就像 Powerpoint 自动化中的形状一样)。
问题 2:如果 Microsoft.Office.Interop.Word 无法实现,像 Aspose Words 这样的替代方案是否提供了更方便的方法?
php ×4
symfony ×3
backbone.js ×1
c# ×1
composer-php ×1
cross-domain ×1
doctrine-orm ×1
forms ×1
javascript ×1
jquery ×1
mysql ×1
python ×1
silex ×1
sqlalchemy ×1
symfony-2.3 ×1
vue.js ×1