小编tet*_*anz的帖子

如何向Symfony中的表单添加未绑定字段,否则绑定到实体?

也许我错过了显而易见的但我怎么(或者我可以)将一个额外的"未绑定"字段添加到另一个绑定到实体的Symfony表单中?

假设我有一个带字段first_name和实体的实体last_name.我在表单类buildForm方法中做了典型的事情.

$builder
    ->add('first_name')
    ->add('last_name')
;
Run Code Online (Sandbox Code Playgroud)

这在我的控制器中:

$editForm = $this->createForm(new MyType(), $entity);
Run Code Online (Sandbox Code Playgroud)

这很好用,但我想添加另一个文本框,让我们称之为"额外",并在POST操作中接收值.如果我这样做$builder->add('extra')?,那就抱怨了

PropertyAccessor.php第479行中的NoSuchPropertyException:

属性"extra"或方法"getExtra()","extra()","isExtra()","hasExtra()","__ get()"都不存在,并且在课堂上有公共访问权限......

哪个是对的.我只是想用它来收集用户的一些额外信息,并用它做一些事情,而不是将它与实体一起存储.

我知道如何制作一个完全独立的形式,而不是一个"混合"的形式.这可能吗?

symfony-forms symfony symfony-2.1

21
推荐指数
2
解决办法
2万
查看次数

Symfony最佳实践.查询应该在存储库或服务中吗?

我对Symfony 2中的最佳实践有疑问.抱歉,如果它有点模糊和主观.我想我可以总结一下我的问题:

"存储库总是适合查询的地方吗?"

现在我把我的大多数学说查询放在实体存储库中.我的大多数控制器操作都执行典型的操作,例如查询实体或实体集合,抛出异常或重定向,具体取决于结果,否则更新一个或多个实体.大多数操作比标准 - > find, - > findBy等查询更有效.大多数都需要加入.当一个查询涉及多个实体时,有时我不确定它应该进入哪个存储库.我猜有查询的根实体但是......有时来自连接实体的数据更重要且更相关所以感觉不对将它放在根实体的存储库中.

这工作正常但我倾向于在我的存储库中得到很多几乎相同但略有不同的查询.提出名字并准确跟踪每个人所做的事情会让人感到困惑和乏味.大多数这些查询仅由同一控制器中的一个或两个(通常很少使用)控制器操作使用.我觉得我用太多专门的,很少使用的东西使我的存储库变得混乱.

看起来除了最简单的操作之外的所有操作都应该封装在对象或服务中.所以,我已经开始直接在服务中而不是存储库中执行大量查询.在一个地方很容易看到动作.这是一个好的做法吗?

symfony doctrine-orm

19
推荐指数
2
解决办法
9685
查看次数

PHP:如何避免读取使用FTP推送给我的部分文件?

文件正通过FTP推送到我的服务器.我在Drupal模块中使用PHP代码处理它们.O/S是Ubuntu,FTP服务器是vsftp.

我将定期检查新文件,使用SimpleXML处理它们并将它们移动到"完成"文件夹.如何避免处理部分上传的文件?

vsftp将lock_upload_files默认为yes.我想先尝试移动文件,期望在当前上传的文件中移动失败.这似乎不会发生,至少在命令行上.如果我开始上传大文件并移动,它只会在新位置继续增长.我猜目录条目没有锁定.

我应该尝试使用模式'a'或'r +'来查看它是否成功,然后再尝试加载到SimpleXML中,还是有更好的方法来执行此操作?我想我可以检测到SimpleXML加载失败,但......看起来很麻烦.

我无法控制发件人.他们不会上传和重命名.

谢谢

php ftp locking

15
推荐指数
2
解决办法
5753
查看次数

如何构建Twitter Bootstrap上的插入符号?

这更像是一个好奇的问题而不是我真正需要知道的问题.

在本页面:

http://twitter.github.com/bootstrap/components.html#buttonDropdowns

如何构建小插入/向下箭头的东西?与Firebug一起探索它看起来像是用透明的边框制作但是...我必须遗漏一些东西.

Bootstrap非常酷.我刚刚与Symfony合作.

css twitter-bootstrap

14
推荐指数
1
解决办法
3万
查看次数

如何在C#中使用后期绑定从程序集中获取枚举值

我有一个C#3.0 WinForms应用程序,偶尔需要通过自动化控制Excel.这与正常的早期绑定很好地工作,但是当人们没有安装Excel但仍想使用我的应用程序时,我有一些问题,除了Excel部分.后期绑定似乎是解决这个问题的方法.在C#3中,后期绑定相当繁琐,但我没有做任何特别困难的事情.我正在关注http://support.microsoft.com/kb/302902作为首发,它运作良好.

我的问题是如何按名称使用枚举?

例如,我如何使用反射来获取值,Microsoft.Office.Interop.Excel.XlFileFormat.xlTextWindows以便我可以使用它进行InvokeMethod调用?

我知道最简单的方法可能是使用相同的"魔术"整数值创建我自己的本地枚举,但是能够通过名称访问它会更好.文档通常不会列出值,所以为了得到它我可能需要一个早期绑定测试应用程序,可以告诉我的价值.

谢谢

c# reflection

9
推荐指数
1
解决办法
6642
查看次数

ECTO加入动态建立的条件

我正在尝试使用左联接建立Ecto查询,并在联接上带有可选的附加条件。我将尝试通过典型的帖子和评论示例对其进行描述。

发表has_many留言评论属于留言。

假设“评论”具有两个布尔字段,即“已批准”和“精选”。

我想获取所有帖子,无论它们是否有评论,因此请保留联接。我要预加载注释,但最好是一个SQL查询。我想有选择地过滤已批准和精选的评论。

我正在尝试编写类似这样的函数,如果批准或推荐的功能不为nil,它们将被包含在联接中;如果为nil,它们将被忽略。我没有找到比这样更好的方法了:

def posts_with_comments(approved, featured, some_var) do
  query = Post
  |> where([p], p.some_field == ^some_var

  cond do
    !is_nil(approved) and !is_nil(featured)
      -> join(query, :left, [p], c in Comment, [post_id: p.id, approved: ^approved, featured: ^featured])

    !is_nil(approved)
      -> join(query, :left, [p], c in Comment, [post_id: p.id, approved: ^approved])

    !is_nil(featured)
      -> join(query, :left, [p], c in Comment, [post_id: p.id, featured: ^featured])

    true -> join(query, :left, [p], c in Comment, [post_id: p.id])
  end

  |> preload([p, c], [comments: c])
  |> select([p], p)
  |> …
Run Code Online (Sandbox Code Playgroud)

elixir ecto

6
推荐指数
1
解决办法
1090
查看次数

在C#中读写cXML文档的最佳方法是什么?

我知道这是一个模糊的开放式问题.我希望得到一些大方向.

我需要将cXML打孔添加到ASP.NET C#站点/应用程序.这正在取代我多年前在ColdFusion中写的东西.

我是一位经验丰富的C#开发人员,但我对XML做的并不多.在.NET中处理XML似乎有很多不同的选择.

这是开放式问题:假设我有某种形式的XML文档,例如文件或字符串,将它读入我的代码的最佳方法是什么?我想获取数据,然后查询数据库等.cXML文档大小和我们的流量很小,所以将cXML文档加载到内存中不是问题.

我是不是该:

1)基于dtd手动构建类并使用XML Serializer?

2)使用工具生成类.有可从Ariba.com下载的示例cXML文件.我尝试使用xsd.exe生成xsd,然后使用xsd.exe/c生成类.当我尝试反序列化时,我得到错误,因为似乎有些"混淆"是否某些元素应该是单个值还是数组.

我尝试了CodeXS在线工具,但如果我尝试反序列化示例文档,则会在其日志和错误中出错.

2)创建数据集和ReadXml()?

3)创建一个类型化的数据集和ReadXml()?

4)使用Linq到XML.我经常使用Linq来对象,所以我对Linq很熟悉但是我很难看到它在这种情况下给我的东西.

5)其他一些手段.

我想我需要提高我对XML的理解,但即便如此......我是否错过了一些明显的方法呢?在旧的ColdFusion站点中,我发现了一个免费组件("标签"),它基本上忽略了任何模式,并将XML读入"结构",这本质上是一系列嵌套的哈希表,然后在代码中易于阅读.这可能很邋but但它确实奏效了.

我还需要从C#对象生成XML文件.也许Linq to XML会对此有所帮助.我可以从默认的"模板"文档开始并在保存之前对其进行操作.

谢谢你的任何指示......

c# xml cxml

5
推荐指数
1
解决办法
2617
查看次数

如何指定用于Doctrine 2.2/Symfony 2.2和PostgreSQL的架构?

我遇到了与此处报告的问题相同的问题:Doctrine 2.2想要重新创建我的所有表格

我正在使用PostgreSQL,我的表在公共模式中.

app/console doctrine:schema:update想要重新创建我的所有表,显然是因为它正在查看用户模式,而不是公共.我的Symfony应用程序运行正常,因为它似乎有点奇怪.

使用Symfony 2.2/Doctrine 2.2,我在哪里指定架构?我似乎无法在任何文档中找到它.

symfony doctrine-orm

5
推荐指数
1
解决办法
5105
查看次数

在Symfony的Doctrine实体中@var注释是什么?

也许是一个愚蠢的问题,但它让我感到困惑,我不知道......

当我用app/console doctrine:generate:entity它创建一个实体时,它会@var为每个属性添加一个注释.什么@var用于?

它显然表明了数据类型,但我没有在任何文档中看到它,并且无论是否存在,事情似乎都有效,所以我只是想知道是什么用它.

doctrine symfony

3
推荐指数
1
解决办法
5626
查看次数