关联实体相关-手动更改

Association entity related - change by hand

我在 AppBundle/Entity 中确实有一个实体,它是我从数据库中生成的。

<?php

namespace AppBundle\Entity;

/*
 *
 * ExtensionSyliusShopUser
 */
 class ExtensionSyliusShopUser
 {/**
 * Set user
 *
 * @param \AppBundle\Entity\SyliusShopUser $user
 *
 * @return ExtensionSyliusShopUser
 */
public function setUser(\AppBundle\Entity\SyliusShopUser $user = null)
{
    $this->user = $user;

    return $this;
}

/**
 * Get user
 *
 * @return \AppBundle\Entity\SyliusShopUser
 */
public function getUser()
{
    return $this->user;
}

现在我想将 setUser() & getUser() 更改为:

Sylius\Component\Core\Model\ShopUser

如果我要更改@parm 和大括号中的值,例如:

public function setUser(\Sylius\Component\Core\Model\ShopUser $user = null)

我收到错误:

关联字段 "AppBundle\Entity\ExtensionSyliusShopUser#$user" 类型 "AppBundle\Entity\SyliusShopUser" 的期望值,得到的是 "Sylius\Component\Core\Model\ShopUser"。

如何更改?

<?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="AppBundle\Entity\ExtensionSyliusShopUser" table="extension_sylius_shop_user">
    <indexes>
      <index name="user_id" columns="user_id"/>
    </indexes>
    <id name="id" type="integer" column="id">
      <generator strategy="IDENTITY"/>
    </id>
    <field name="wishlist" type="text" column="wishlist" length="65535" nullable="true">
      <options>
        <option name="fixed"/>
      </options>
     </field>
    <many-to-one field="user" target-entity="SyliusShopUser" fetch="LAZY">
      <join-columns>
        <join-column name="user_id" referenced-column-name="id"/>
      </join-columns>
    </many-to-one>
  </entity>
</doctrine-mapping>

您需要更改 $user 属性(列)的定义。您提供的代码示例中未显示。

如果你使用注解应该是这样的:

/**
 * @ORM\ManyToOne(targetEntity="Sylius\Component\Core\Model\ShopUser")
 */
private $user;

如果是 XML 配置:

<many-to-one field="user" target-entity="Sylius\Component\Core\Model\ShopUser">