| @@ 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. |
|