DoctrineでID以外でリレーションさせると…


 以下のようなschema.ymlを作った(かなりはしょってるけど)。Domain.nameは一意だから、Host.domain_nameとDomain.nameをリレーションさせた。その後、doctrin:buildでフォームを作成したけど、Domain.nameがテキストボックスじゃなかった。

# schema.yml
Host:
actAs: { Timestampable: ~ }
columns:
domain_name: { type: string(255), notnull: true }
name:        { type: string(255), notnull: true }
relations:
Domain:      { onDelete: CASCADE, local: domain_name, foreign: name }
Domain:
actAs: { Timestampable: ~ }
columns:
name:      { type: string(255), notnull: true }

今考えるとDomain.nameにunique制約付けてないせいかな・・・

とりあえずメモ書き程度。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です