Skip to content

Latest commit

 

History

History
94 lines (76 loc) · 3.24 KB

README.md

File metadata and controls

94 lines (76 loc) · 3.24 KB

fabiang/doctrine-dynamic-laminas

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.