kraenzle-ritter / resources
Resources trait
v0.0.5
2021-01-22 17:36 UTC
Requires
- freearhey/wikidata: ^3.6
- guzzlehttp/guzzle: ^7
- illuminate/support: ~5|~6|~7|~8
Requires (Dev)
- mockery/mockery: ^1.1
- orchestra/testbench: ~3|~4
- phpunit/phpunit: ^8.0
- sempro/phpunit-pretty-print: ^1.0
README
Resource Model and a hasResource trait where resources are basically links to a resources (eg. Wikipedia-Article or GND-Entry).
Installation
Via Composer
$ composer require kraenzle-ritter/resources
Then either run php artisan vendor:publish
and publish the migration or copy the file to your migrations directory. Then run php artisan migrate
.
Usage
<?php namespace App\Models; use Illuminate\Database\Eloquent\Model use KraenzleRitter\Resources\hasResources; class MyModel extends Model { use hasResources; ... }
Then you are ready to go:
$resource = [ 'provider' => 'Wikipedia', 'provider_id' => 4013996, 'url' => 'https://fr.wikipedia.org/wiki/Érik_Desmazières' // optional 'full_json' => [...] ]; $model = MyModel::find(1); $this->model->updateOrCreateResource($resource); $model->resources; ...
With the artisan-command
php artisan resources:fetch --provider=gnd // or wikidata or wikipedia
You can add more resources to a model which already has a gnd link. You can configure the list of resources in the config file.
License
License. Please see the license file for more information.