oai datacite metadata
This commit is contained in:
parent
3c50618c8a
commit
e7d8dc21a0
7 changed files with 308 additions and 109 deletions
|
@ -5,6 +5,7 @@ use App\Models\Title;
|
|||
use App\Models\License;
|
||||
use App\Models\Person;
|
||||
use App\Models\File;
|
||||
use App\Models\GeolocationBox;
|
||||
|
||||
/**
|
||||
* DatasetExtension short summary.
|
||||
|
@ -19,7 +20,7 @@ trait DatasetExtension
|
|||
protected $externalFields = array(
|
||||
'TitleMain' => array(
|
||||
'model' => Title::class,
|
||||
'options' => array('type' => 'main'),
|
||||
'options' => array('type' => ['main', 'alternative', 'subtitle', 'other']),
|
||||
'fetch' => 'eager'
|
||||
),
|
||||
'TitleAbstract' => array(
|
||||
|
@ -56,6 +57,11 @@ trait DatasetExtension
|
|||
'relation' => 'files',
|
||||
'fetch' => 'eager'
|
||||
),
|
||||
'GeolocationBox' => array(
|
||||
'model' => GeolocationBox::class,
|
||||
'relation' => 'geolocation',
|
||||
'fetch' => 'eager'
|
||||
),
|
||||
);
|
||||
|
||||
protected $internalFields = array();
|
||||
|
@ -229,7 +235,15 @@ trait DatasetExtension
|
|||
if (isset($this->externalFields[$fieldname]['options'])) {
|
||||
$options = $this->externalFields[$fieldname]['options'];
|
||||
foreach ($options as $column => $value) {
|
||||
$select = $select->where($column, $value);
|
||||
// $searchString = ',';
|
||||
// if (strpos($value, $searchString) !== false) {
|
||||
// $arr = explode(",", $value);
|
||||
if (is_array($value)) {
|
||||
$arr = $value;
|
||||
$select->whereIn($column, $arr);
|
||||
} else {
|
||||
$select = $select->where($column, $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -12,6 +12,7 @@ use App\Models\XmlCache;
|
|||
use App\Models\File;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Carbon\Carbon;
|
||||
use App\Models\GeolocationBox;
|
||||
|
||||
class Dataset extends Model
|
||||
{
|
||||
|
@ -51,6 +52,14 @@ class Dataset extends Model
|
|||
// $this->_init();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the user that owns the phone.
|
||||
*/
|
||||
public function geolocation()
|
||||
{
|
||||
return $this->belongsTo(GeolocationBox::class, 'dataset_id', 'id');
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the project that the dataset belongs to.
|
||||
*/
|
||||
|
|
25
app/Models/GeolocationBox.php
Normal file
25
app/Models/GeolocationBox.php
Normal file
|
@ -0,0 +1,25 @@
|
|||
<?php
|
||||
namespace App\Models;
|
||||
|
||||
use App\Models\Dataset;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class GeolocationBox extends Model
|
||||
{
|
||||
protected $table = 'geolocation_box';
|
||||
public $timestamps = false;
|
||||
|
||||
protected $fillable = ['xmin', 'xmax', 'ymin', 'ymax'];
|
||||
|
||||
protected $casts = [
|
||||
'xmin' => 'float',
|
||||
'xmax' => 'float',
|
||||
'ymin' => 'float',
|
||||
'ymax' => 'float'
|
||||
];
|
||||
|
||||
public function dataset()
|
||||
{
|
||||
return $this->belongsTo(Dataset::class, 'dataset_id', 'id');
|
||||
}
|
||||
}
|
Loading…
Add table
editor.link_modal.header
Reference in a new issue