fabiang/doctrine-dynamic-laminas

Laminas binding for doctrine-dynamic

v2.1.0 2024-11-26 13:27 UTC

This package is auto-updated.

Last update: 2024-11-26 13:36:36 UTC


README

Laminas binding for fabiang/doctrine-dynamic.

Latest Stable Version PHP Version Require License CI Scrutinizer Code Quality Code Coverage

Installation

New to Composer? Read the introduction. Run the following Composer command:

$ composer require fabiang/doctrine-dynamic-laminas

Configuration

Load the module by adding it to config/application.config.php:

return [
    'modules' => [
        /** **/
        'Fabiang\DoctrineDynamic',
    ],
];

Configure extra options and associations into your module configuration (e.g. config/module.config.php):

<?php

namespace Mymodule;

return [
    /** **/
    'doctrine_dynamic' => [
        \Mymodule\Entity\Customer::class => [
            'options' => [
                'repository' => \Mymodule\Repository\CustomerRepository::class,
            ],
            'fields' => [
                'fieldname' => [
                    'products' => [
                        'oneToMany' => [
                            [
                                'targetEntity' => \Mymodule\Entity\Customer::class,
                                'mappedBy'     => 'customer',
                            ]
                        ]
                    ]
                ]
            ]
        ],
        \Mymodule\Entity\Products::class => [
            'fields' => [
                'customer' => [
                    'manyToOne' => [
                        [
                            'targetEntity' => \Mymodule\Entity\Products::class,
                            'inversedBy'   => 'products',
                            'joinColumns'  => [
                                'name'                 => 'customer_id',
                                'referencedColumnName' => 'id'
                            ]
                        ]
                    ]
                ]
            ]
        ],
    ]
];

Development

This library is tested with PHPUnit.

Fork the project on Github and send an pull request with your changes. Make sure you didn't break anything with running the following commands:

composer install
./vendor/bin/phpunit

License

BSD-2-Clause. See the LICENSE.md.