@@ 53-65 (lines=13) @@ | ||
50 | * |
|
51 | * @return Import |
|
52 | */ |
|
53 | public function findOneLatestStartedByFeed(Feed $feed) |
|
54 | { |
|
55 | $builder = $this->createQueryBuilder('i') |
|
56 | ->where('i.feed = :feed') |
|
57 | ->andWhere('i.datetimeStarted IS NOT NULL') |
|
58 | ->andWhere('SIZE(i.parts) > 0') |
|
59 | ->orderBy('i.datetimeStarted', 'DESC') |
|
60 | ->setMaxResults(1) |
|
61 | ->setParameter('feed', $feed) |
|
62 | ; |
|
63 | ||
64 | return $builder->getQuery()->getOneOrNullResult(); |
|
65 | } |
|
66 | ||
67 | /** |
|
68 | * Find imports by feed, ordered by descending start date. |
|
@@ 74-85 (lines=12) @@ | ||
71 | * |
|
72 | * @return Import[] |
|
73 | */ |
|
74 | public function findCompletedByFeed(Feed $feed) |
|
75 | { |
|
76 | $builder = $this->createQueryBuilder('i') |
|
77 | ->where('i.feed = :feed') |
|
78 | ->andWhere('i.datetimeStarted IS NOT NULL') |
|
79 | ->andWhere('i.datetimeEnded IS NOT NULL') |
|
80 | ->orderBy('i.datetimeStarted', 'DESC') |
|
81 | ->setParameter('feed', $feed) |
|
82 | ; |
|
83 | ||
84 | return $builder->getQuery()->getResult(); |
|
85 | } |
|
86 | ||
87 | /** |
|
88 | * Find imports by number of parts. |