Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana Memodelkan Perhubungan Banyak-ke-Banyak dengan Nilai Tambahan dalam Ajaran 2 Menggunakan Jadual Pautan?
Dalam model pangkalan data hubungan, perhubungan banyak-ke-banyak mewakili senario di mana berbilang baris daripada satu jadual boleh dikaitkan dengan berbilang baris daripada yang lain. Walau bagaimanapun, apabila nilai tambahan diperkenalkan ke dalam perhubungan ini, ia berubah menjadi entiti baharu. Entiti ini mempunyai pengecam (dua perhubungan dengan entiti yang disambungkan) dan data tambahan.
Untuk memodelkan banyak-ke-banyak dengan berkesan banyak perhubungan dengan nilai tambahan dalam Ajaran 2, pertimbangkan untuk mencipta jadual berasingan untuk mewakili perhubungan itu. Jadual ini, yang biasanya dirujuk sebagai "jadual pautan", akan mengandungi lajur yang diperlukan untuk mewujudkan perhubungan dengan kedua-dua jadual induk, serta sebarang atribut tambahan yang dikaitkan dengan perhubungan.
Dalam konteks Doktrin 2, anda boleh memetakan jadual pautan ini sebagai entiti baharu. Mari kita ambil contoh senario yang melibatkan produk dan kedai:
Entiti Produk:
<code class="php">namespace Entity; use Doctrine\ORM\Mapping as ORM; /** @ORM\Table(name="product") @ORM\Entity() */ class Product { /** @ORM\Id() @ORM\Column(type="integer") */ protected $id; /** ORM\Column(name="product_name", type="string", length=50, nullable=false) */ protected $name; /** @ORM\OneToMany(targetEntity="Entity\Stock", mappedBy="product") */ protected $stockProducts; }</code>
Entiti Kedai:
<code class="php">namespace Entity; use Doctrine\ORM\Mapping as ORM; /** @ORM\Table(name="store") @ORM\Entity() */ class Store { /** @ORM\Id() @ORM\Column(type="integer") */ protected $id; /** ORM\Column(name="store_name", type="string", length=50, nullable=false) */ protected $name; /** @ORM\OneToMany(targetEntity="Entity\Stock", mappedBy="store") */ protected $stockProducts; }</code>
Entiti Stok:
Atas ialah kandungan terperinci Bagaimana Memodelkan Perhubungan Banyak-ke-Banyak dengan Nilai Tambahan dalam Ajaran 2 Menggunakan Jadual Pautan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!