Anonymous
Wie erzeugen in diesem Fall eine Beziehung eins zu eins für Doktrinentitäten?
Post
by Anonymous » 19 May 2025, 09:15
Ich möchte META -Daten von Produkten und Kategorien in der getrennten Tabelle speichern, d. H. Erstellt Tabellen: < /p>
Code: Select all
meta_data (id, title, description, ...)
products (id, ..., meta_data_id)
categories (id, ..., meta_data_id)
< /code>
Ich erstelle Entitäten mit Eins-zu-Eins-Beziehungen: < /p>
class MetaData
{
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column(type: Types::INTEGER, unique: true, options: ['unsigned' => true])]
private int $id;
...
}
class Product
{
#[ORM\Column(type: Types::INTEGER, unique: true, options: ['unsigned' => true])]
#[ORM\Id]
#[ORM\GeneratedValue]
private int $id;
#[ORM\OneToOne(targetEntity: MetaData::class, cascade: ['persist'], orphanRemoval: true)]
#[ORM\JoinColumn(name: 'meta_data_id', unique: true, onDelete: 'CASCADE')]
private MetaData $metaData;
...
}
class Category
{
#[ORM\Column(type: Types::INTEGER, unique: true, options: ['unsigned' => true])]
#[ORM\Id]
#[ORM\GeneratedValue]
private int $id;
#[ORM\OneToOne(targetEntity: MetaData::class, cascade: ['persist'], orphanRemoval: true)]
#[ORM\JoinColumn(name: 'meta_data_id', unique: true, onDelete: 'CASCADE')]
private MetaData $metaData;
...
}
In diesem Fall fügt Fremdschlüssel die Produkte und Kategorien Tabellen hinzu. Wie konfigurieren Sie Entitäten in diesem Fall?
1747638943
Anonymous
[url=viewtopic.php?t=14917]Ich möchte[/url] META -Daten von Produkten und Kategorien in der getrennten Tabelle speichern, d. H. Erstellt Tabellen: < /p> [code]meta_data (id, title, description, ...) products (id, ..., meta_data_id) categories (id, ..., meta_data_id) < /code> Ich erstelle Entitäten mit Eins-zu-Eins-Beziehungen: < /p> class MetaData { #[ORM\Id] #[ORM\GeneratedValue] #[ORM\Column(type: Types::INTEGER, unique: true, options: ['unsigned' => true])] private int $id; ... } class Product { #[ORM\Column(type: Types::INTEGER, unique: true, options: ['unsigned' => true])] #[ORM\Id] #[ORM\GeneratedValue] private int $id; #[ORM\OneToOne(targetEntity: MetaData::class, cascade: ['persist'], orphanRemoval: true)] #[ORM\JoinColumn(name: 'meta_data_id', unique: true, onDelete: 'CASCADE')] private MetaData $metaData; ... } class Category { #[ORM\Column(type: Types::INTEGER, unique: true, options: ['unsigned' => true])] #[ORM\Id] #[ORM\GeneratedValue] private int $id; #[ORM\OneToOne(targetEntity: MetaData::class, cascade: ['persist'], orphanRemoval: true)] #[ORM\JoinColumn(name: 'meta_data_id', unique: true, onDelete: 'CASCADE')] private MetaData $metaData; ... } [/code] In diesem Fall fügt Fremdschlüssel die Produkte und Kategorien Tabellen hinzu. Wie konfigurieren Sie Entitäten in diesem Fall?