Apple 项目上的 AssetId 始终相同
$items = ['apple', 'banana', 'orange', 'strawberry', 'apple', 'apple', 'banana', 'orange', 'banana'];
$itemRepository = $this->entityManager->getRepository(Item::class);
$itemList = [];
foreach($items as $item) {
$assetId = random_int(100,10000);
// get items metadata, assetid is always null
$item = $itemRepository->findOneBy(['name' => $item]);
$item->setAssetId($assetId);
// save the item object in an array for usage later but before, set now the nulled value
$itemList[] = $item;
}
dd($itemList);
这里有什么问题,因为 assetid 不是正确的 assetid,所有苹果都有相同的 assetid
您可以根据原则为您的物品提供自动生成的 ID,但不太确定您要在这里做什么。
在您的物品类别中:
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column(type: 'integer')]
protected int $id;
并确保在尝试使用存储库访问您的项目之前保留它们。