medlib/yaz

Medlib is a searche Library

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

This package is not auto-updated.

Last update: 2024-12-25 19:49:42 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

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 !