vendor/bundles/Pagerfanta/Adapter/MandangoAdapter.php
author cavaliet
Mon, 07 Jul 2014 17:23:47 +0200
changeset 122 d672f7dd74dc
parent 15 99ad73ef7385
permissions -rw-r--r--
Added tag V00.17 for changeset ada5f3d8b5b4
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
15
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
     1
<?php
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
     2
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
     3
/*
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
     4
 * This file is part of the Pagerfanta package.
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
     5
 *
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
     6
 * (c) Pablo Díez <pablodip@gmail.com>
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
     7
 *
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
     8
 * For the full copyright and license information, please view the LICENSE
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
     9
 * file that was distributed with this source code.
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    10
 */
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    11
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    12
namespace Pagerfanta\Adapter;
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    13
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    14
use Mandango\Query;
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    15
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    16
/**
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    17
 * MandangoAdapter.
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    18
 *
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    19
 * @author Pablo Díez <pablodip@gmail.com>
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    20
 *
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    21
 * @api
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    22
 */
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    23
class MandangoAdapter implements AdapterInterface
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    24
{
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    25
    private $query;
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    26
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    27
    /**
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    28
     * Constructor.
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    29
     *
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    30
     * @param Query $query The query.
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    31
     *
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    32
     * @api
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    33
     */
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    34
    public function __construct(Query $query)
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    35
    {
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    36
        $this->query = $query;
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    37
    }
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    38
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    39
    /**
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    40
     * Returns the query.
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    41
     *
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    42
     * @return Query The query.
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    43
     *
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    44
     * @api
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    45
     */
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    46
    public function getQuery()
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    47
    {
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    48
        return $this->query;
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    49
    }
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    50
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    51
    /**
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    52
     * {@inheritdoc}
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    53
     */
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    54
    public function getNbResults()
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    55
    {
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    56
        return $this->query->count();
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    57
    }
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    58
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    59
    /**
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    60
     * {@inheritdoc}
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    61
     */
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    62
    public function getSlice($offset, $length)
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    63
    {
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    64
        return $this->query->limit($length)->skip($offset)->all();
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    65
    }
99ad73ef7385 first step for tag list and add Pagerfanta for paginator
cavaliet
parents:
diff changeset
    66
}