matterstech / matters-repository

Matters proposal usage of zend-repository

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

matters-repository

Matters proposal usage of zend-repository

Usage

Definition of a \Matters\Repository

<?php
    class TableRepository extends \Matters\Repository {

        public function findAllByName(string $name)
        {
            $select = $this->select();
            $select->where
                ->equalTo([
                    'name'       => $name,
                ]);

            $select->order(['created_at' => 'DESC']);

            return $this->fetchListEntities($select);
        }
    }

Instanciation

<?php
    $hydratingResultSet = new \Zend\Db\ResultSet\HydratingResultSet(
        new Hydrator(),
        new Model()
    );

    $tableGateway = new \Zend\Db\TableGateway\TableGateway(
        'table_name',
        new \Zend\Db\Adapter\Adapter($config),
        null,
        $hydratingResultSet
    );

    $tableRepository = new TableRepository($tableGateway);
    $entities = $tableRepository->findAllByName('Bob');    

Tests

./vendor/bin/phpunit tests

About

Matters proposal usage of zend-repository


Languages

Language:PHP 100.0%