Kopieren von Datensätzen (CopyManager)
Das Kopieren von Datensätzen ist in Doctrine\Manager\CopyManager geregelt. Es stehen unterschiedliche Methoden zur Verfügung, um das Kopieren zu ermöglichen (siehe nachfolgende Überschicht).
Hinweis
Alle Methoden erlauben das Kopieren vieler Datensätze in einem Aufruf.
Methode | Beschreibung |
---|---|
root | Es wird der Stammdatensatz kopiert. Sprachen werden nicht kopiert. |
default | Es wird der Stammdatensatz mit Sprachen kopiert. |
withRelation | Wie |
recursive | Wie |
Aufruf
use Brandbox\Framework\Brandbox\Doctrine;
$ids = [1,2,3,4,5];
$entities = [$repository => $ids]
$logger = $this
->staticController(Doctrine\Manager\CopyManager::class)
->root($entities)
;
$logger = $this
->staticController(Doctrine\Manager\CopyManager::class)
->default($entities)
;
$logger = $this
->staticController(Doctrine\Manager\CopyManager::class)
->withRelation($entities)
;
$logger = $this
->staticController(Doctrine\Manager\CopyManager::class)
->recursive($entities)
;
Verwendung des Loggers
Die Kopiervorgänge werden intern geloggt. Nach dem Kopiervorgang kann auf die Nachrichten sowie die kopierten Ids zugegriffen werden.
use Brandbox\Framework\Brandbox\Doctrine;
$copyManager = $this->staticController(Doctrine\Manager\CopyManager::class);
$logger = $copyManager->root($entities);
$copiedId = $copyManager->getCopiedId($logger, $repository, $sourceId);
$messages = $logger->all();
Eventübersicht
Klassenname | Beschreibung |
---|---|
| Wird von allen Methoden in |