Files
Epicnabbo-Catalogus-Updated…/Updated_Cms/app/Models/Articles/WebsiteArticleReaction.php
T
Remco 19269de238 🆙 More fixes 🆙
2026-01-19 21:06:32 +01:00

55 lines
1.2 KiB
PHP

<?php
namespace App\Models\Articles;
use App\Models\User;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
class WebsiteArticleReaction extends Model
{
protected $guarded = [];
public $timestamps = false;
protected $hidden = [
'user_id',
'article_id',
];
public static function getReaction(int $articleId, int $userId, string $reaction): ?self
{
return self::where('user_id', $userId)
->where('article_id', $articleId)
->where('reaction', $reaction)
->first();
}
#[\Override]
public static function boot()
{
parent::boot();
static::creating(function ($model): void {
/** @var WebsiteArticleReaction $model */
$model->user_id = (int) (auth()->id() ?? 0);
});
}
/**
* @return BelongsTo<WebsiteArticle, $this>
*/
public function article(): BelongsTo
{
return $this->belongsTo(WebsiteArticle::class, 'article_id');
}
/**
* @return BelongsTo<User, $this>
*/
public function user(): BelongsTo
{
return $this->belongsTo(User::class);
}
}