首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用symfony表单验证器进行批量插入

使用symfony表单验证器进行批量插入
EN

Stack Overflow用户
提问于 2011-06-29 21:10:05
回答 1查看 485关注 0票数 0

我收到来自用户的CSV文件,并希望将其插入到数据库中。我想使用表单验证:

代码语言:javascript
复制
$pf = new ProductForm();
$old_memory_usage = 0;

while($data = $csvreader->read())
{
  $mem = memory_get_usage() / 1024;
  echo "Memory-Usage: " . $mem . " KB; Mem-Diff: " . $mem - $old_memory_usage . "\n";
  $old_memory_usage = $mem;

  $p = new Product();
  $p->fromArray($data);
  $pf->bind($p->toArray(), array());
  if($pf->isValid())
  {
    $p->save();
  }
  else
  {
    //display error message to the user
  }
}

当isValid()返回true时,它可以很好地工作。内存差异为0 KB。但是,如果“表”中有错误,则内存差异为6-7KB。因此,当CSV文件非常大时,我会得到一个allowed_memory错误。

我尝试释放表单,如下所示:

代码语言:javascript
复制
unset($pf)
$pf = null;
$pf = new ProductForm();

没有成功。这只会更糟!

有什么想法吗?谢谢!

EN

回答 1

Stack Overflow用户

发布于 2011-06-29 21:26:48

您可以在数据库yml中禁用doctrine:

代码语言:javascript
复制
  dev:
    doctrine:
      class: sfDoctrineDatabase
      param:
        profiler: false
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6521158

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档