tethys/app/Models/Person.php
Arno Kaimbacher 1b2e77d907 - Convert class references from strings to static ::class constants built-in to PHP for improved code completion and static analysis.
- Replace Facade references using the global namespace with their FQCN for improved code completion and static analysis.
- delete database\factories\PageFactory.php and app\services\Registrar.php
2022-08-05 13:26:42 +02:00

58 lines
1.2 KiB
PHP

<?php
namespace App\Models;
use App\Models\Dataset;
use Illuminate\Database\Eloquent\Model;
class Person extends Model
{
protected $fillable = [
'academic_title',
'date_of_birth',
'last_name',
'first_name',
'email',
'identifier_orcid',
'status',
'name_type',
];
protected $table = 'persons';
public $timestamps = false;
protected $appends = ['full_name'];
public function documents()
{
return $this->belongsToMany(Dataset::class, 'link_documents_persons', 'person_id', 'document_id')
->withPivot('role', 'sort_order', 'allow_email_contact');
}
// public function scopeNotLimit($query)
// {
// return $query->where('borrow', '<', 3);
// }
/**
* Get the user's full name.
* see https://laravel.com/docs/5.6/eloquent-serialization
* @return string
*/
public function getFullNameAttribute()
{
return $this->first_name.' '.$this->last_name.' '.$this->date_of_birth;
}
public function scopeActive($query)
{
return $query->where('status', 1);
}
public function scopeOrderByName($query)
{
return $query->orderBy('last_name');
}
}