medlib/yaz

Medlib is a searche Library

v2.2 2017-04-04 16:53 UTC

This package is not auto-updated.

Last update: 2024-05-29 17:03:24 UTC


README

Installation Laravel

Dependencies

medlib/marcxml

You can install this package by using Composer, running this command:

    composer require medlib/yaz

The next required step is to add the service provider to config/app.php :

'providers' => [
    ...
    Medlib\Yaz\Providers\YazServiceProvider::class,
    Medlib\MarcXML\Providers\ParserServiceProvider::class,
]
'aliases' => [
    ...
    'Yaz' => Medlib\Yaz\Facades\Yaz::class,
    'Query' => Medlib\Yaz\Facades\Query::class,
    'MarcXML' => Medlib\MarcXML\Facades\MarcXML::class,
]

Publish

The last required step is to publish views and assets in your application with :

    php artisan vendor:publish

If you get the error

    Nothing to publish for tag []!

Then run this command :

    php artisan config:clear

Examples

  • Request with a return type of BibliographicRecord (all records):

    use Medlib\Yaz\Query\YazQuery;
    
    $this->results = YazQuery::create()
    ->from('SUDOC')
    ->where('au="totok" and ti="Handbuch"')
    ->orderBy('au ASC')
    ->all();
    
  • Request with a return type of BibliographicRecord (one record):

    use Medlib\Yaz\Query\YazQuery;
    
    $this->results = YazQuery::create()
    ->from('SUDOC')
    ->where('au="totok" and ti="Handbuch"')
    ->first();
    
  • Request with a return type of BibliographicRecord (limit):

    use Medlib\Yaz\Query\YazQuery;
    
    $this->results = YazQuery::create()
    ->from('BNF')
    ->where('au="totok" and ti="Handbuch"')
    ->limit(0,10)
    ->all();
    
  • Request with a return type of string (all records):

    use Medlib\Yaz\Query\YazQuery;
    use Medlib\Yaz\Record\YazRecords;
    
    $this->results = YazQuery::create()
    ->from('BNF')
    ->where('au="totok" and ti="Handbuch"')
    ->orderBy('au ASC')
    ->all(YazRecords::TYPE_STRING);
    
  • Request with a return type of xml equal to BibliographicRecord (all records):

    use Medlib\Yaz\Query\YazQuery;
    use Medlib\Yaz\Record\YazRecords;
    
    $this->results = YazQuery::create()
    ->from('connection_name')
    ->where('au="totok" and ti="Handbuch"')
    ->orderBy('au ASC')
    ->all(YazRecords::TYPE_XML);
    

Allowed parameters

Type:
- TYPE_STRING
- TYPE_RAW
- TYPE_XML 
- TYPE_SYNTAX 
- TYPE_ARRAY
Order Description
ASC Sort ascending
IASC Sort ascending, Case insensitive sorting
SASC Sort ascending, Case sensitive sorting
DESC Sort descending
IDESC Sort descending, Case insensitive sorting
SDESC Sort descending, Case sensitive sorting

Pagination

  • Action:

    use Medlib\Yaz\Pagination\Paginator;
    use Medlib\Yaz\Record\YazRecords;
    
    $pagination = new Paginator('BNF', 10);
    
    $pagination->getQuery()
    ->where('au="totok"')
    ->orderBy('ti ASC');
    
    $pagination->setPage($request->get('page', 1));
    
    $pagination->render();
    
  • Template:

      Count: echo $pagination->getNbResults();
      foreach($pagination->getResults(YazRecords::TYPE_STRING) AS $result):
            echo $result;
      endforeach;
    

Required

Congratulations, you have successfully installed Yaz Query Builder !