gpt4 book ai didi

php - 一对多关系刷新错误

转载 作者:搜寻专家 更新时间:2023-10-31 21:36:07 25 4
gpt4 key购买 nike

$cart = new Cart();
$item = new CartItem();

$variant = $repository->findOneById($variantId);

$item->setVariant($variant);
$cart->addItem($item);

$em->persist($cart);
$em->flush();

flush() 上我得到了以下错误:

A new entity was found through the relationship 'CartItem#variant' that was not configured to cascade persist operations for entity:Variant@0000000034ce4ce4000000000391db0d. To solve this issue: Either explicitly call EntityManager#persist() on this unknown entity or configure cascade persist this association in the mapping for example @ManyToOne(..,cascade={"persist"}). If you cannot find out which entity causes the problem implement 'Variant#__toString()' to get a clue.

Cart.xml

<one-to-many target-entity="CartItem" field="items" mapped-by="cart">
<cascade>
<cascade-persist/>
</cascade>
</one-to-many>

CartItem.xml

<many-to-one field="cart" target-entity="Cart" inversed-by="items">
<join-column name="cart_id" referenced-column-name="id" nullable="false" />
</many-to-one>
<many-to-one field="variant" target-entity="Variant">
<join-column name="variant_id" referenced-column-name="id" nullable="false" />
</many-to-one>

在 Variant.xml 中我没有 CartItem 映射。

最佳答案

您需要保留变体和项目实体。您还应该在变体上设置关系,而不仅仅是项目。

关于php - 一对多关系刷新错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19161932/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com