| namespace App\Models; | |
| use Illuminate\Database\Eloquent\Factories\HasFactory; | |
| use Illuminate\Database\Eloquent\Model; | |
| use Illuminate\Database\Eloquent\Relations\BelongsTo; | |
| use Illuminate\Database\Eloquent\Relations\HasMany; | |
| class SocialRecurringCampaign extends Model | |
| { | |
| use HasFactory; | |
| protected $fillable = [ | |
| 'user_id', | |
| 'platforms', | |
| 'repeat_frequency', | |
| 'status', | |
| 'brand_label', | |
| 'team_label', | |
| 'approval_mode', | |
| 'title', | |
| 'caption', | |
| 'hashtags', | |
| 'image_url', | |
| 'video_url', | |
| 'starts_at', | |
| 'next_occurrence_at', | |
| 'ends_at', | |
| 'meta', | |
| ]; | |
| protected $casts = [ | |
| 'platforms' => 'array', | |
| 'hashtags' => 'array', | |
| 'meta' => 'array', | |
| 'starts_at' => 'datetime', | |
| 'next_occurrence_at' => 'datetime', | |
| 'ends_at' => 'datetime', | |
| ]; | |
| public function user(): BelongsTo | |
| { | |
| return $this->belongsTo(User::class); | |
| } | |
| public function posts(): HasMany | |
| { | |
| return $this->hasMany(SocialPost::class, 'recurrence_campaign_id'); | |
| } | |
| } | |