Open Monograph Press  3.3.0
PKP\Services\QueryBuilders\PKPAuthorQueryBuilder Class Reference
Inheritance diagram for PKP\Services\QueryBuilders\PKPAuthorQueryBuilder:
PKP\Services\QueryBuilders\Interfaces\EntityQueryBuilderInterface

Public Member Functions

 filterByAffiliation ($affiliation)
 
 filterByContextIds ($contextIds)
 
 filterByCountry ($country)
 
 filterByName ($givenName, $familyName)
 
 filterByPublicationIds ($publicationIds)
 
 getCount ()
 
 getIds ()
 
 getQuery ()
 

Protected Attributes

 $affiliation = ''
 
 $contextIds = []
 
 $country = ''
 
 $familyName = ''
 
 $givenName = ''
 
 $publicationIds = []
 

Detailed Description

Definition at line 20 of file PKPAuthorQueryBuilder.inc.php.

Member Function Documentation

◆ filterByAffiliation()

PKP\Services\QueryBuilders\PKPAuthorQueryBuilder::filterByAffiliation (   $affiliation)

Filter by the specified affiliation code

Parameters
$countrystring Affiliation
Returns
\PKP\Services\QueryBuilders\PKPAuthorQueryBuilder

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

References PKP\Services\QueryBuilders\PKPAuthorQueryBuilder\$affiliation.

◆ filterByContextIds()

PKP\Services\QueryBuilders\PKPAuthorQueryBuilder::filterByContextIds (   $contextIds)

Filter by one or more contexts

Parameters
array | int$contextIds
Returns
\PKP\Services\QueryBuilders\PKPAuthorQueryBuilder

Definition at line 64 of file PKPAuthorQueryBuilder.inc.php.

References PKP\Services\QueryBuilders\PKPAuthorQueryBuilder\$contextIds.

◆ filterByCountry()

PKP\Services\QueryBuilders\PKPAuthorQueryBuilder::filterByCountry (   $country)

Filter by the specified country code

Parameters
$countrystring Country code (2-letter)
Returns
\PKP\Services\QueryBuilders\PKPAuthorQueryBuilder

Definition at line 88 of file PKPAuthorQueryBuilder.inc.php.

References PKP\Services\QueryBuilders\PKPAuthorQueryBuilder\$country.

◆ filterByName()

PKP\Services\QueryBuilders\PKPAuthorQueryBuilder::filterByName (   $givenName,
  $familyName 
)

Filter by the given and family name

Parameters
string$givenName
string$familyName
Returns
\PKP\Services\QueryBuilders\PKPAuthorQueryBuilder

Definition at line 76 of file PKPAuthorQueryBuilder.inc.php.

References PKP\Services\QueryBuilders\PKPAuthorQueryBuilder\$familyName, and PKP\Services\QueryBuilders\PKPAuthorQueryBuilder\$givenName.

◆ filterByPublicationIds()

PKP\Services\QueryBuilders\PKPAuthorQueryBuilder::filterByPublicationIds (   $publicationIds)

Set publicationIds filter

Parameters
array | int$publicationIds
Returns
\PKP\Services\QueryBuilders\PKPAuthorQueryBuilder

Definition at line 110 of file PKPAuthorQueryBuilder.inc.php.

References PKP\Services\QueryBuilders\PKPAuthorQueryBuilder\$publicationIds.

◆ getCount()

PKP\Services\QueryBuilders\PKPAuthorQueryBuilder::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 118 of file PKPAuthorQueryBuilder.inc.php.

◆ getIds()

PKP\Services\QueryBuilders\PKPAuthorQueryBuilder::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 129 of file PKPAuthorQueryBuilder.inc.php.

◆ getQuery()

PKP\Services\QueryBuilders\PKPAuthorQueryBuilder::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 140 of file PKPAuthorQueryBuilder.inc.php.

References PKP\Services\QueryBuilders\PKPAuthorQueryBuilder\$affiliation, PKP\Services\QueryBuilders\PKPAuthorQueryBuilder\$country, PKP\Services\QueryBuilders\PKPAuthorQueryBuilder\$familyName, PKP\Services\QueryBuilders\PKPAuthorQueryBuilder\$givenName, and HookRegistry\call().

Field Documentation

◆ $affiliation

string PKPAuthorQueryBuilder::$affiliation = ''
protected

◆ $contextIds

array PKPAuthorQueryBuilder::$contextIds = []
protected

get authors for one or more contexts

Definition at line 26 of file PKPAuthorQueryBuilder.inc.php.

Referenced by PKP\Services\QueryBuilders\PKPAuthorQueryBuilder\filterByContextIds().

◆ $country

string PKPAuthorQueryBuilder::$country = ''
protected

◆ $familyName

string PKPAuthorQueryBuilder::$familyName = ''
protected

◆ $givenName

string PKPAuthorQueryBuilder::$givenName = ''
protected

◆ $publicationIds

array PKPAuthorQueryBuilder::$publicationIds = []
protected

get authors for one or more publications

Definition at line 44 of file PKPAuthorQueryBuilder.inc.php.

Referenced by PKP\Services\QueryBuilders\PKPAuthorQueryBuilder\filterByPublicationIds().


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