# PCM Metadata Bundle Easily add scalar metadata to a Symfony entity via the use of a key-value interface. # Installation 1. Add this repository to `composer.json`: ```json "repositories": [ { "type": "vcs", "url": "ssh://git@git.pcmdev.co.uk:2222/pcm-libraries/pcm-metadata-bundle.git" } ], ``` 2. Install the bundle: ```sh composer require pcm/metadata-bundle ``` 3. If not set already add the following config to `doctrine.yaml` to prevent errors: ```yaml doctrine: orm: enable_native_lazy_objects: true ``` # Usage 1. Use the `MetadataTrait` inside an entity: ```php class MyEntity { use MetadataTrait; } ``` 2. Create and execute a new migration. The trait adds a `metadata` database field and as such we need to create a migration. 3. Access the metadata object with the readonly property `metadata`: ```php $entity->metadata->set("name", "PCM"); $entity->metadata->get("name"); // "PCM" $entity->metadata->isSet("name"); // true ``` > Like updating the value of a property normally, setting metadata values will not automatically update the database. You must call `flush()` from the `EntityManager` as usual when you wish to persist data.