Saya ingin melakukan kunci unik gabungan dalam doktrin. Itu adalah bidang saya:
/**
* @var string $videoDimension
*
* @Column(name="video_dimension", type="string", nullable=false)
*/
private $videoDimension;
/**
* @var string $videoBitrate
*
* @Column(name="video_bitrate", type="string", nullable=false)
*/
private $videoBitrate;
Bagaimana saya dapat menunjukkan ajaran, bahwa yang digabungkan bersama adalah kunci unik gabungan?
php
mysql
doctrine-orm
Nikoole
sumber
sumber
-ToOne
asosiasi (kunci asing)?_id
asosiasi, karena begitulah cara Doctrine menghasilkan nama kolom.@Table(uniqueConstraints={@UniqueConstraint(columns={"case_id", "duration"})})
dan tidak ada yang pentingSaya merasa lebih bertele-tele
use
hanya ke ORM dan kemudian awalanORM
dalam penjelasan. Perhatikan juga bahwa Anda dapat memecah anotasi menjadi beberapa baris agar lebih mudah dibaca terutama jika Anda memiliki beberapa item untuk disebutkan (indeks dalam contoh di bawah).sumber
Saya tahu ini adalah pertanyaan lama, tetapi saya menemukannya saat mencari cara untuk membuat PK komposit dan berpikir itu bisa menggunakan beberapa pembaruan.
Hal-hal sebenarnya jauh lebih sederhana jika yang Anda butuhkan adalah Kunci Utama Komposit. (Yang, tentu saja, menjamin keunikan) Dokumentasi doktrin berisi beberapa contoh bagus oleh url ini: http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/tutorials/composite-primary-keys.html
Jadi contoh aslinya bisa terlihat seperti ini:
Beberapa catatan di sini:
videoDimension
danvideoBitrate
keduanya merupakan bagian dari PK - tidak perlu disebutkannullable = false
sumber