Wie erzeugen in diesem Fall eine Beziehung eins zu eins für Doktrinentitäten?Php

PHP-Programmierer chatten hier
Anonymous
 Wie erzeugen in diesem Fall eine Beziehung eins zu eins für Doktrinentitäten?

Post by Anonymous »

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?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post