nemesis/doctrine-array-hydrator

An array to entity hydrator for Doctrine 2 entities

1.0.1 2017-08-08 06:41 UTC

This package is not auto-updated.

Last update: 2024-11-19 18:36:06 UTC


README

Introduction

Build Status Code Climate Test Coverage Test Coverage

A hydrator for doctrine 2 that converts an array to the entity of your choice.

Installing via Composer

The recommended way to install is through Composer.

composer require pmill/doctrine-array-hydrator

Example

Given this doctrine entity:

<?php
namespace App\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity
 * @ORM\Table(name="users")
 */
class User
{
    /**
     * @ORM\Id @ORM\Column(type="integer") @ORM\GeneratedValue
     * @var int
     */
    protected $id;

    /**
     * @ORM\Column(type="string")
     * @var string
     */
    protected $name;

    /**
     * @ORM\Column(type="string")
     * @var string
     */
    protected $email;

    /**
     * @ManyToOne(targetEntity="Company")
     * @var Company
     */
    protected $company;
    
    /**
     * @OneToMany(targetEntity="Permission", mappedBy="product")
     * @var Permission[]
     */
    protected $permissions;
    ...

We can populate this object with an array, for example:

$data = [
    'name'=>'Fred Jones',
    'email'=>'fred@example.com',
    'company'=>2,
    'permissions'=>[1, 2, 3, 4];
];

$hydrator = new \pmill\Doctrine\Hydrator\ArrayHydrator($entityManager);
$entity = $hydrator->hydrate('App\Entity\User', $data);

Copyright

Doctrine Array to Entity Hydrator Copyright (c) 2015 pmill (dev.pmill@gmail.com) All rights reserved.