<?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'); } }