YAZ Query Builder
Installation Laravel
Dependencies
medlib/marcxml, (*1)
You can install this package by using Composer, running this command:, (*2)
composer require medlib/yaz
The next required step is to add the service provider to config/app.php :, (*3)
'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 :, (*4)
php artisan vendor:publish
If you get the error, (*5)
Nothing to publish for tag []!
Then run this command :, (*6)
php artisan config:clear
Examples
-
Request with a return type of BibliographicRecord
(all records):, (*7)
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):, (*8)
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):, (*9)
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):, (*10)
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):, (*11)
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, (*12)
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 |
-
Action:, (*13)
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:, (*14)
Count: echo $pagination->getNbResults();
foreach($pagination->getResults(YazRecords::TYPE_STRING) AS $result):
echo $result;
endforeach;
Required
Congratulations, you have successfully installed Yaz Query Builder !, (*15)