【发布时间】:2022-08-19 02:34:36
【问题描述】:
在我目前正在从事的一个项目中,没有在数据库中找到零件号 它使用 symfony 2.7 和学说。我试过 find、findBy、findOneBy 和 findAll 仍然没有一个能够在数据库中找到正确的零件号。
这应该搜索数据库并找到类似的零件编号并将其显示在页面上。办理流程如下。
1.用户通过使用Excel文件复制和粘贴来上传发票 Site form
-
然后抓取信息并将项目放入数组中。
if ($import) { $importData = $form->get(\'importData\')->getData(); /* @var $invoice OnWaterInvoice */ $pattern = \'/\"(.+)\\r\\n?(.+)\"/\'; $replace = \'$1$2\'; $importData = preg_replace($pattern, $replace, $importData); $importData = explode(\"\\r\\n\", $importData); foreach ($importData as $item) { $item = trim($item); $item = explode(\"\\t\", $item); foreach ($item as $key => $value) { $value = trim($value); if ($key == 0 || $key == 4) { $value = (int) $value; } if ($key == 5 || $key == 6) { $value = (float) $value; } $item[$key] = $value; } -
这就是我遇到的问题是这行代码就在这里
$pn = $this->getDoctrine()->getRepository(\'EICStockBundle:PartNumber\')->find($item[2]); $invoiceItem->setPartNumber($pn);
即使零件号在数据库中,这也不会获取零件号。好像值没有更新。因为如果添加一个新数字,我会得到相同的结果。它跳过它。
零件号是表的 id 但是当我使用
->findBy(\'id\'=>$item[2]) 我收到一个错误。
这应该找到零件以及可能的零件,因为有时使用了不正确的零件编号。如果我能得到一些关于我做错了什么的指示,我将不胜感激。
谢谢
更新 - -
我试过清除学说缓存 使用
doctrine:cache:clear-collection-region doctrine:cache:clear-entity-region doctrine:cache:clear-metadata
我也尝试过架构:重建和更新,但仍然没有提取正确的 id
-
你试过
->findBy([\'id\' => $item[2]])- 因为findby 需要一个数组,而你在那里发布的不是一个。
标签: php symfony doctrine symfony-2.7