Open Journal Systems  3.3.0
GalleyQueryBuilder.inc.php
1 <?php
16 
17 use Illuminate\Database\Capsule\Manager as Capsule;
19 
22  public $columns;
23 
25  protected $publicationIds = [];
26 
33  public function filterByPublicationIds($publicationIds) {
34  $this->publicationIds = is_array($publicationIds) ? $publicationIds : [$publicationIds];
35  return $this;
36  }
37 
41  public function getCount() {
42  return $this
43  ->getQuery()
44  ->select('g.galley_id')
45  ->get()
46  ->count();
47  }
48 
52  public function getIds() {
53  return $this
54  ->getQuery()
55  ->select('g.galley_id')
56  ->pluck('g.galley_id')
57  ->toArray();
58  }
59 
63  public function getQuery() {
64  $this->columns = ['*'];
65  $q = Capsule::table('publication_galleys as g');
66 
67  if (!empty($this->publicationIds)) {
68  $q->whereIn('g.publication_id', $this->publicationIds);
69  }
70 
71  // Add app-specific query statements
72  \HookRegistry::call('Galley::getMany::queryObject', array(&$q, $this));
73 
74  $q->select($this->columns);
75 
76  return $q;
77  }
78 }
APP\Services\QueryBuilders\GalleyQueryBuilder\getIds
getIds()
Definition: GalleyQueryBuilder.inc.php:58
APP\Services\QueryBuilders\GalleyQueryBuilder\filterByPublicationIds
filterByPublicationIds($publicationIds)
Definition: GalleyQueryBuilder.inc.php:39
APP\Services\QueryBuilders\GalleyQueryBuilder\$publicationIds
$publicationIds
Definition: GalleyQueryBuilder.inc.php:31
APP\Services\QueryBuilders\GalleyQueryBuilder\$columns
$columns
Definition: GalleyQueryBuilder.inc.php:25
APP\Services\QueryBuilders\GalleyQueryBuilder\getCount
getCount()
Definition: GalleyQueryBuilder.inc.php:47
APP\Services\QueryBuilders
Definition: ContextQueryBuilder.inc.php:14
APP\Services\QueryBuilders\GalleyQueryBuilder\getQuery
getQuery()
Definition: GalleyQueryBuilder.inc.php:69
APP\Services\QueryBuilders\GalleyQueryBuilder
Definition: GalleyQueryBuilder.inc.php:20
HookRegistry\call
static call($hookName, $args=null)
Definition: HookRegistry.inc.php:86
PKP\Services\QueryBuilders\Interfaces\EntityQueryBuilderInterface
Definition: EntityQueryBuilderInterface.inc.php:19