File: /var/www/ivs.kaunokolegija.lt/laravel/app/Models/PeerReviewedArticle.php
<?php
namespace App\Models;
use App\Traits\Auditable;
use Carbon\Carbon;
use DateTimeInterface;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class PeerReviewedArticle extends Model
{
use Auditable, HasFactory;
public $table = 'peer_reviewed_articles';
protected $dates = [
'year',
'created_at',
'updated_at',
'deleted_at',
];
protected $fillable = [
'year',
'title',
'input_time',
'authorship_field',
'page_count',
'publisher_id',
'isbn',
'doi',
'created_at',
'updated_at',
'deleted_at',
];
protected function serializeDate(DateTimeInterface $date)
{
return $date->format('Y-m-d H:i:s');
}
public function scientists()
{
return $this->belongsToMany(Scientist::class);
}
public function getYearAttribute($value)
{
return $value ? Carbon::parse($value)->format(config('panel.date_format')) : null;
}
public function setYearAttribute($value)
{
$this->attributes['year'] = $value ? Carbon::createFromFormat(config('panel.date_format'), $value)->format('Y-m-d') : null;
}
public function science_areas()
{
return $this->belongsToMany(ScienceArea::class);
}
public function science_directions()
{
return $this->belongsToMany(ScienceDirection::class);
}
public function publisher()
{
return $this->belongsTo(Publisher::class, 'publisher_id');
}
}