Open Journal Systems  3.3.0
APP\Services\QueryBuilders\IssueQueryBuilder Class Reference
Inheritance diagram for APP\Services\QueryBuilders\IssueQueryBuilder:
PKP\Services\QueryBuilders\Interfaces\EntityQueryBuilderInterface

Public Member Functions

 filterByContext ($contextId)
 
 filterByIds ($issueIds)
 
 filterByNumbers ($numbers)
 
 filterByPublished ($isPublished)
 
 filterByVolumes ($volumes)
 
 filterByYears ($years)
 
 getCount ()
 
 getIds ()
 
 getQuery ()
 
 limitTo ($count)
 
 offsetBy ($offset)
 
 orderBy ($column, $direction='DESC')
 
 searchPhrase ($phrase)
 

Protected Attributes

 $columns = array()
 
 $contextId = null
 
 $countOnly = null
 
 $isPublished = null
 
 $issueIds = []
 
 $limit = null
 
 $numbers = null
 
 $offset = 0
 
 $orderColumn = 'i.date_published'
 
 $orderDirection = 'DESC'
 
 $searchPhrase = ''
 
 $volumes = null
 
 $years = null
 

Detailed Description

Definition at line 21 of file IssueQueryBuilder.inc.php.

Member Function Documentation

◆ filterByContext()

APP\Services\QueryBuilders\IssueQueryBuilder::filterByContext (   $contextId)

Set context issues filter

Parameters
int | string$contextId
Returns
\APP\Services\QueryBuilders\IssueQueryBuilder

Definition at line 108 of file IssueQueryBuilder.inc.php.

References APP\Services\QueryBuilders\IssueQueryBuilder\$contextId.

◆ filterByIds()

APP\Services\QueryBuilders\IssueQueryBuilder::filterByIds (   $issueIds)

Set issue id filter

Parameters
array$issueIds
Returns
\APP\Services\QueryBuilders\IssueQueryBuilder

Definition at line 197 of file IssueQueryBuilder.inc.php.

References APP\Services\QueryBuilders\IssueQueryBuilder\$issueIds.

◆ filterByNumbers()

APP\Services\QueryBuilders\IssueQueryBuilder::filterByNumbers (   $numbers)

Set numbers filter

Parameters
array$numbers
Returns
\APP\Services\QueryBuilders\IssueQueryBuilder

Definition at line 167 of file IssueQueryBuilder.inc.php.

References APP\Services\QueryBuilders\IssueQueryBuilder\$numbers.

◆ filterByPublished()

APP\Services\QueryBuilders\IssueQueryBuilder::filterByPublished (   $isPublished)

Set published filter

Parameters
boolean$isPublished
Returns
\APP\Services\QueryBuilders\IssueQueryBuilder

Definition at line 140 of file IssueQueryBuilder.inc.php.

References APP\Services\QueryBuilders\IssueQueryBuilder\$isPublished.

◆ filterByVolumes()

APP\Services\QueryBuilders\IssueQueryBuilder::filterByVolumes (   $volumes)

Set volumes filter

Parameters
array$volumes
Returns
\APP\Services\QueryBuilders\IssueQueryBuilder

Definition at line 152 of file IssueQueryBuilder.inc.php.

References APP\Services\QueryBuilders\IssueQueryBuilder\$volumes.

◆ filterByYears()

APP\Services\QueryBuilders\IssueQueryBuilder::filterByYears (   $years)

Set years filter

Parameters
array$years
Returns
\APP\Services\QueryBuilders\IssueQueryBuilder

Definition at line 182 of file IssueQueryBuilder.inc.php.

References APP\Services\QueryBuilders\IssueQueryBuilder\$years.

◆ getCount()

APP\Services\QueryBuilders\IssueQueryBuilder::getCount ( )

Get a count of the number of rows that match the select conditions configured in this query builder.

Returns
int

Implements PKP\Services\QueryBuilders\Interfaces\EntityQueryBuilderInterface.

Definition at line 241 of file IssueQueryBuilder.inc.php.

◆ getIds()

APP\Services\QueryBuilders\IssueQueryBuilder::getIds ( )

Get a list of ids that match the select conditions configured in this query builder.

Returns
array

Implements PKP\Services\QueryBuilders\Interfaces\EntityQueryBuilderInterface.

Definition at line 252 of file IssueQueryBuilder.inc.php.

◆ getQuery()

APP\Services\QueryBuilders\IssueQueryBuilder::getQuery ( )

Get a query builder with the applied select, where and join clauses based on builder's configuration

This returns an instance of Laravel's query builder.

Call the get method on a query builder to return an array of matching rows.

$qb = new \PKP\Services\QueryBuilders\PublicationQueryBuilder();
$result = $qb
->filterByContextIds(1)
->getQuery()
->get();

Or use the query builder to retrieve objects from a DAO. This example retrieves the first 20 matching Publications.

$qo = $qb
->filterByContextIds(1)
->getQuery();
$result = DAORegistry::getDAO('PublicationDAO')->retrieveRange(
$qo->toSql(),
$qo->getBindings(),
new DBResultRange(20, null, 0);
);
$queryResults = new DAOResultFactory($result, $publicationDao, '_fromRow');
$iteratorOfObjects = $queryResults->toIterator();

Laravel's other query builder methods, such as first and pluck, can also be used.

$qb = new \PKP\Services\QueryBuilders\PublicationQueryBuilder();
$result = $qb
->filterByContextIds(1)
->getQuery()
->first();

See: https://laravel.com/docs/5.5/queries

Returns
Illuminate\Database\Query\Builder

Implements PKP\Services\QueryBuilders\Interfaces\EntityQueryBuilderInterface.

Definition at line 263 of file IssueQueryBuilder.inc.php.

References APP\Services\QueryBuilders\IssueQueryBuilder\$searchPhrase, HookRegistry\call(), and APP\Services\QueryBuilders\IssueQueryBuilder\searchPhrase().

◆ limitTo()

APP\Services\QueryBuilders\IssueQueryBuilder::limitTo (   $count)

Set query limit

Parameters
int$count
Returns
\APP\Services\QueryBuilders\IssueQueryBuilder

Definition at line 221 of file IssueQueryBuilder.inc.php.

◆ offsetBy()

APP\Services\QueryBuilders\IssueQueryBuilder::offsetBy (   $offset)

Set how many results to skip

Parameters
int$offset
Returns
\APP\Services\QueryBuilders\IssueQueryBuilder

Definition at line 233 of file IssueQueryBuilder.inc.php.

References APP\Services\QueryBuilders\IssueQueryBuilder\$offset.

◆ orderBy()

APP\Services\QueryBuilders\IssueQueryBuilder::orderBy (   $column,
  $direction = 'DESC' 
)

Set result order column and direction

Parameters
string$column
string$direction
Returns
\APP\Services\QueryBuilders\IssueQueryBuilder

Definition at line 121 of file IssueQueryBuilder.inc.php.

◆ searchPhrase()

APP\Services\QueryBuilders\IssueQueryBuilder::searchPhrase (   $phrase)

Set query search phrase

Parameters
string$phrase
Returns
\APP\Services\QueryBuilders\IssueQueryBuilder

Definition at line 209 of file IssueQueryBuilder.inc.php.

Referenced by APP\Services\QueryBuilders\IssueQueryBuilder\getQuery().

Field Documentation

◆ $columns

array APP\Services\QueryBuilders\IssueQueryBuilder::$columns = array()
protected

list of columns for query

Definition at line 33 of file IssueQueryBuilder.inc.php.

◆ $contextId

int string null APP\Services\QueryBuilders\IssueQueryBuilder::$contextId = null
protected

Context ID or '*' to get from all contexts

Definition at line 27 of file IssueQueryBuilder.inc.php.

Referenced by APP\Services\QueryBuilders\IssueQueryBuilder\filterByContext().

◆ $countOnly

bool APP\Services\QueryBuilders\IssueQueryBuilder::$countOnly = null
protected

whether to return only a count of results

Definition at line 81 of file IssueQueryBuilder.inc.php.

◆ $isPublished

boolean APP\Services\QueryBuilders\IssueQueryBuilder::$isPublished = null
protected

return published issues

Definition at line 51 of file IssueQueryBuilder.inc.php.

Referenced by APP\Services\QueryBuilders\IssueQueryBuilder\filterByPublished().

◆ $issueIds

array APP\Services\QueryBuilders\IssueQueryBuilder::$issueIds = []
protected

list of issue ids to retrieve

Definition at line 57 of file IssueQueryBuilder.inc.php.

Referenced by APP\Services\QueryBuilders\IssueQueryBuilder\filterByIds().

◆ $limit

int null APP\Services\QueryBuilders\IssueQueryBuilder::$limit = null
protected

whether to limit the number of results returned

Definition at line 87 of file IssueQueryBuilder.inc.php.

◆ $numbers

array APP\Services\QueryBuilders\IssueQueryBuilder::$numbers = null
protected

return issues with number(s)

Definition at line 69 of file IssueQueryBuilder.inc.php.

Referenced by APP\Services\QueryBuilders\IssueQueryBuilder\filterByNumbers().

◆ $offset

int APP\Services\QueryBuilders\IssueQueryBuilder::$offset = 0
protected

whether to offset the number of results returned. Use to return a second page of results.

Definition at line 93 of file IssueQueryBuilder.inc.php.

Referenced by APP\Services\QueryBuilders\IssueQueryBuilder\offsetBy().

◆ $orderColumn

string APP\Services\QueryBuilders\IssueQueryBuilder::$orderColumn = 'i.date_published'
protected

order by column

Definition at line 39 of file IssueQueryBuilder.inc.php.

◆ $orderDirection

string APP\Services\QueryBuilders\IssueQueryBuilder::$orderDirection = 'DESC'
protected

order by direction

Definition at line 45 of file IssueQueryBuilder.inc.php.

◆ $searchPhrase

string APP\Services\QueryBuilders\IssueQueryBuilder::$searchPhrase = ''
protected

return issues which match words from this search phrase

Definition at line 99 of file IssueQueryBuilder.inc.php.

Referenced by APP\Services\QueryBuilders\IssueQueryBuilder\getQuery().

◆ $volumes

array APP\Services\QueryBuilders\IssueQueryBuilder::$volumes = null
protected

return issues in volume(s)

Definition at line 63 of file IssueQueryBuilder.inc.php.

Referenced by APP\Services\QueryBuilders\IssueQueryBuilder\filterByVolumes().

◆ $years

array APP\Services\QueryBuilders\IssueQueryBuilder::$years = null
protected

return issues with year(s)

Definition at line 75 of file IssueQueryBuilder.inc.php.

Referenced by APP\Services\QueryBuilders\IssueQueryBuilder\filterByYears().


The documentation for this class was generated from the following file:
DBResultRange
Container class for range information when retrieving a result set.
Definition: DBResultRange.inc.php:17
DAOResultFactory
Wrapper around ADORecordSet providing "factory" features for generating objects from DAOs.
Definition: DAOResultFactory.inc.php:21
DAORegistry\getDAO
static & getDAO($name, $dbconn=null)
Definition: DAORegistry.inc.php:57