我对 Doctrine2 相当陌生,我正在尝试学习如何查询实体并更新它们。
我用来查询的方法是特定属性上的 findBy 方法来搜索数据库中的记录列表,“我的查询返回对象列表”。现在我想更新实体中一些我无法工作的属性。这是我所拥有的:
/** Set the search attributes for hls**/
$id = array("itemNbr" => $itemNbr);
$hls = $this->emInstance->getRepository('entity\\Hls')->findBy($id);
// on update hls
foreach($hls as $h){
$h->setAllRd($Rd);
$h->setRdy($Rdy);
$h->setNo($no);
var_dump($h);
}
$this->emInstance->flush();
var_dump($statHdr);
它到达循环中的第一个 var 转储,该转储返回一个对象列表,但由于使用了刷新,它没有到达第二个 var 转储。如果我在不使用 flush 方法的情况下执行,则属性会在 var_dump 中显示更新的信息,但实际上不会提交更新,因为 flush 不起作用。我究竟做错了什么。
此外,实体的 id 是 id,而 itemCnt