0

我有一个实体(该实体从 itunes.apple.com 解析)

/**
 * App
 */
abstract class App extends ContainerAware implements AppInterface
{
  /**
   * Using traits
   */
  use AppImageTrait,
      AppLanguageTrait,
      AppCommonTrait,
      AppCategoriesTrait;

  /**
   * @var integer
   * 
   * @ORM\Id
   * @ORM\Column(name="apple_id", type="integer")
   */
  protected $apple_id;

这个实体有方法 setAppleId 和 getAppleId

我想将主键(id)保存为苹果 id

这是如何工作的?

4

1 回答 1

2

@ORM\GeneratedValue注释的文档开始:

class App implements AppInterface
{
    use AppImageTrait, AppLanguageTrait, AppCommonTrait, AppCategoriesTrait;

    /**
     * @var integer
     * 
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="NONE")
     * @ORM\Column(name="apple_id", type="integer")
     */
    protected $apple_id;

    /* @param int $appleId */
    public function setAppleId($appleId)
    {
        $this->apple_id = (int) $appleId;
    }

    /* @return int */
    public function getAppleId()
    {
        return $this->apple_id;
    }
}

这应该可以防止 ORM 使用自动增量 ID,同时将设置标识符的任务留给您。

附带说明:不要让您的实体容器知道。

于 2012-12-01T03:25:14.933 回答