Save workspace changes

This commit is contained in:
2026-04-18 17:02:56 +02:00
parent f02ea9a711
commit 87d60af5a9
4220 changed files with 1388603 additions and 1554 deletions

View File

@@ -0,0 +1,46 @@
<?php
declare(strict_types=1);
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
use Illuminate\Database\Eloquent\Relations\HasMany;
use App\Models\UserAchievement;
class Achievement extends Model
{
use HasFactory;
protected $fillable = [
'name',
'slug',
'description',
'icon',
'xp_reward',
'type',
'condition_type',
'condition_value',
];
protected function casts(): array
{
return [
'xp_reward' => 'integer',
'condition_value' => 'integer',
];
}
public function userAchievements(): HasMany
{
return $this->hasMany(UserAchievement::class, 'achievement_id');
}
public function users(): BelongsToMany
{
return $this->belongsToMany(User::class, 'user_achievements', 'achievement_id', 'user_id')
->withPivot('unlocked_at');
}
}