1

私はsymfony2フレームワークが初めてです。symfony をインストールする前に持っている mysql db があります。そのため、データベースに基づいてスキーマを生成できました。

テーブルの 1 つの CRUD コントローラーを生成しようとしています。これはユーザー テーブルで、主キーは UserId です。しかし、doctrine:generate:CRUD を実行すると、次のエラーが発生します。

CRUD ジェネレーターは、エンティティ オブジェクトに getId() メソッドを持つ「id」という名前の主キー フィールドがあることを想定しています。

Id を PK 識別子として持つ必要がありますか? それはベストプラクティスですか?テーブルのすべての PK は、tablenameid によって定義されます。

User エンティティ クラスの get メソッドは getUserid() です。CRUDジェネレーターにそれを知らせるにはどうすればよいですか?

ありがとう

4

1 に答える 1

0

PK識別子として「id」である必要はないと思います。エンティティにエラーがある可能性があると思います。

/** @Id @Column(type="integer") @GeneratedValue */
private $userid;

YML ファイル:

Bundle\BundleBundle\Entity\Example:
  type: entity
  table: Example
  fields:
    userid:
      id: true
      type: integer
      generator:
        strategy: AUTO
于 2012-04-22T23:50:56.083 に答える