我遵循了http://docs.sylius.org/en/latest/bundles/general/overriding_models.html并尝试用新字段"qrCode"扩展订单模型
实体/订单.php
<?php
namespace FunlifeBundleEshopBundleEntity;
use SyliusComponentOrderModelOrder as BaseOrder;
class Order extends BaseOrder{
private $qrCode;
public function getQrCode()
{
return $this->qrCode;
}
public function setNewQrCode($qrcode)
{
$this->qrCode = $qrcode;
}
}
资源/config/metrine/Order.om.xml
<?xml version="1.0" encoding="UTF-8"?>
<doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping
http://doctrine-project.org/schemas/orm/doctrine-mapping.xsd">
<entity name="FunlifeBundleEshopBundleEntityOrder" table="sylius_order">
<field name="qrCode" column="qrCode" type="string" length="255" nullable="false" unique="true" />
</entity>
</doctrine-mapping>
配置yml
sylius_order:
driver: doctrine/orm
classes:
order:
model: FunlifeBundleEshopBundleEntityOrder
在更新数据库时,我得到了以下错误:
[DoctrineORMMappingMappingException]
The target-entity FunlifeBundleEshopBundleEntityOrder cannot be found in 'SyliusComponentOrderModelAdjustment#order'.
有人知道如何解决这个问题吗?谢谢
我遇到了同样的问题,只是运行了php composer.phar update
,它起到了帮助作用。我的实体随后显示在映射信息中