feat: add likes to posts

This commit is contained in:
2026-05-18 21:16:02 +02:00
parent d706dd587a
commit bb409610a8
7 changed files with 156 additions and 5 deletions
+7
View File
@@ -9,6 +9,7 @@ use Illuminate\Database\Eloquent\Concerns\HasUlids;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Database\Eloquent\SoftDeletes;
@@ -48,6 +49,12 @@ class MealPosts extends Model
return $this->hasMany(MealPostIngredients::class)->orderBy('position');
}
public function likedByUsers(): BelongsToMany
{
return $this->belongsToMany(User::class, 'meal_post_likes', 'meal_posts_id', 'user_id')
->withTimestamps();
}
protected function casts(): array
{
return [
+7
View File
@@ -7,6 +7,7 @@ use Filament\Models\Contracts\FilamentUser;
use Filament\Panel;
use Illuminate\Database\Eloquent\Concerns\HasUlids;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
@@ -72,6 +73,12 @@ class User extends Authenticatable implements FilamentUser
return $this->hasMany(MealPosts::class);
}
public function likedMealPosts(): BelongsToMany
{
return $this->belongsToMany(MealPosts::class, 'meal_post_likes', 'user_id', 'meal_posts_id')
->withTimestamps();
}
public function routeNotificationForExpoPush(): array
{
return $this->deviceTokens()