Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk Menguruskan Perhubungan Banyak-ke-Banyak yang Kompleks dengan Medan Tambahan dalam Ajaran 2?

Bagaimana untuk Menguruskan Perhubungan Banyak-ke-Banyak yang Kompleks dengan Medan Tambahan dalam Ajaran 2?

Linda Hamilton
Lepaskan: 2024-10-24 18:36:02
asal
380 orang telah melayarinya

How to Manage Complex Many-to-Many Relationships with Additional Fields in Doctrine 2?

Menguruskan Banyak-ke-Banyak Perhubungan dengan Medan Tambahan Menggunakan Doktrin 2

Dalam pemodelan pangkalan data, perhubungan banyak-ke-banyak selalunya melibatkan jadual pautan untuk mewujudkan hubungan antara entiti. Walau bagaimanapun, apabila nilai tambahan dikaitkan dengan jadual pautan ini, perhubungan tradisional banyak-ke-banyak menjadi tidak mencukupi.

Pertimbangkan senario di mana sistem perlu menjejak stok untuk produk dalam berbilang kedai. Perhubungan asas banyak-ke-banyak boleh dibuat dengan struktur pangkalan data berikut:

Product:
  - product_id
  - product_name

Store:
  - store_id
  - store_name

Stock:
  - amount
  - product_id
  - store_id
Salin selepas log masuk

Walau bagaimanapun, struktur ini tidak mempunyai keupayaan untuk menjejaki jumlah stok bagi setiap gabungan produk dan kedai. Untuk menangani perkara ini, medan tambahan, seperti "jumlah", boleh ditambah pada jadual "Stok". Ini menghasilkan entiti baharu dan bukannya jadual pautan semata-mata, kerana ia kini mempunyai kedua-dua pengecam dan nilai.

Dalam Doktrin 2, ini boleh dilaksanakan menggunakan takrifan entiti berikut:

Product:
  /** @ORM\OneToMany(targetEntity="Entity\Stock", mappedBy="product") */
  protected $stockProducts;

Store:
  /** @ORM\OneToMany(targetEntity="Entity\Stock", mappedBy="store") */
  protected $stockProducts;

Stock:
  /** ORM\Column(type="integer") */
  protected $amount;
  /** @ORM\ManyToOne(targetEntity="Entity\Store", inversedBy="stockProducts") */
  protected $store;
  /** @ORM\ManyToOne(targetEntity="Entity\Product", inversedBy="stockProducts") */
  protected $product;
Salin selepas log masuk

Dengan mentakrifkan entiti "Stok" yang berasingan dengan perhubungan dua hala kepada "Produk" dan "Kedai", kami boleh mengurus jumlah stok yang dikaitkan dengan setiap produk dan gabungan kedai dengan berkesan.

Atas ialah kandungan terperinci Bagaimana untuk Menguruskan Perhubungan Banyak-ke-Banyak yang Kompleks dengan Medan Tambahan dalam Ajaran 2?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan