Completed
Push — Order ( 5bfbdf...92abe2 )
by Laurent
03:29
created

OrdersRepository::getLastOrder()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 8
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
c 2
b 0
f 0
dl 0
loc 8
rs 9.4285
cc 1
eloc 5
nc 1
nop 1
1
<?php
2
3
namespace AppBundle\Entity;
4
5
use Doctrine\ORM\EntityRepository;
6
7
/**
8
 * OrdersRepository
9
 *
10
 * This class was generated by the Doctrine ORM. Add your own custom
11
 * repository methods below.
12
 */
13
class OrdersRepository extends EntityRepository
14
{
15
    /**
16
     * Renvoi les dernières commandes.
17
     *
18
     * @param integer $count Nombre d'élément à afficher
19
     * @return array Query result
20
     */
21
    public function getLastOrder($count)
22
    {
23
        $query = $this->findOrders()
24
            ->setMaxResults($count)
25
            ->getQuery();
26
27
        return $query->getResult();
28
    }
29
30
    /**
31
     * Renvoi les dernières commandes.
32
     *
33
     * @param integer $count Nombre d'élément à afficher
34
     * @return array Query result
35
     */
36
    public function getLastDelivery($count)
37
    {
38
        $query = $this->findDeliveries()
39
            ->setMaxResults($count)
40
            ->getQuery();
41
42
        return $query->getResult();
43
    }
44
45
    /**
46
     * Find Orders before delivering.
47
     *
48
     * @return \Doctrine\ORM\QueryBuilder
49
     */
50
    public function findOrders() {
51
        $query = $this->findActive()
52
            ->andWhere('o.delivdate > :date')
53
            ->setParameter('date', date('Y-m-d'));
54
55
        return $query;
56
    }
57
58
    /**
59
     * Find Orders for delivering.
60
     *
61
     * @return \Doctrine\ORM\QueryBuilder
62
     */
63
    public function findDeliveries() {
64
        $query = $this->findActive()
65
            ->andWhere('o.delivdate <= :date')
66
            ->setParameter('date', date('Y-m-d'));
67
68
        return $query;
69
    }
70
71
    private function findActive() {
72
        $query = $this->createQueryBuilder('o')
73
            ->orderBy('o.id', 'DESC')
74
            ->where('o.status = 1');
75
76
        return $query;
77
    }
78
}
79