0

私はエンティティを持っています(このエンティティはitun​​es.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)をAppleIDとして保存したい

これはどのように機能しますか?

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 に答える