29 lines
630 B
PHP
29 lines
630 B
PHP
<?php
|
|
|
|
namespace App\Models;
|
|
|
|
use Illuminate\Database\Eloquent\Model;
|
|
|
|
class TimeCapsule extends Model
|
|
{
|
|
protected $fillable = ['user_id', 'anime_id', 'message', 'unlock_at', 'opened_at'];
|
|
|
|
protected $casts = [
|
|
'unlock_at' => 'datetime',
|
|
'opened_at' => 'datetime',
|
|
];
|
|
|
|
public function user() { return $this->belongsTo(User::class); }
|
|
public function anime() { return $this->belongsTo(Anime::class); }
|
|
|
|
public function isUnlocked(): bool
|
|
{
|
|
return now()->gte($this->unlock_at);
|
|
}
|
|
|
|
public function isOpened(): bool
|
|
{
|
|
return !is_null($this->opened_at);
|
|
}
|
|
}
|