|MemberRenewalReminder newModelQuery() * @method static \Illuminate\Database\Eloquent\Builder|MemberRenewalReminder newQuery() * @method static \Illuminate\Database\Eloquent\Builder|MemberRenewalReminder query() * @method static \Illuminate\Database\Eloquent\Builder|MemberRenewalReminder whereCreatedAt($value) * @method static \Illuminate\Database\Eloquent\Builder|MemberRenewalReminder whereDeactivatedAt($value) * @method static \Illuminate\Database\Eloquent\Builder|MemberRenewalReminder whereDeactivationSent($value) * @method static \Illuminate\Database\Eloquent\Builder|MemberRenewalReminder whereId($value) * @method static \Illuminate\Database\Eloquent\Builder|MemberRenewalReminder whereMemberId($value) * @method static \Illuminate\Database\Eloquent\Builder|MemberRenewalReminder whereReminder1Sent($value) * @method static \Illuminate\Database\Eloquent\Builder|MemberRenewalReminder whereReminder1SentAt($value) * @method static \Illuminate\Database\Eloquent\Builder|MemberRenewalReminder whereReminder2Sent($value) * @method static \Illuminate\Database\Eloquent\Builder|MemberRenewalReminder whereReminder2SentAt($value) * @method static \Illuminate\Database\Eloquent\Builder|MemberRenewalReminder whereReminder3Sent($value) * @method static \Illuminate\Database\Eloquent\Builder|MemberRenewalReminder whereReminder3SentAt($value) * @method static \Illuminate\Database\Eloquent\Builder|MemberRenewalReminder whereRenewalYear($value) * @method static \Illuminate\Database\Eloquent\Builder|MemberRenewalReminder whereUpdatedAt($value) * @mixin \Eloquent */ class MemberRenewalReminder extends Model { protected $fillable = [ 'member_id', 'renewal_year', 'reminder_1_sent', 'reminder_2_sent', 'reminder_3_sent', 'deactivation_sent', 'reminder_1_sent_at', 'reminder_2_sent_at', 'reminder_3_sent_at', 'deactivated_at', ]; protected function casts(): array { return [ 'reminder_1_sent' => 'boolean', 'reminder_2_sent' => 'boolean', 'reminder_3_sent' => 'boolean', 'deactivation_sent' => 'boolean', 'reminder_1_sent_at' => 'datetime', 'reminder_2_sent_at' => 'datetime', 'reminder_3_sent_at' => 'datetime', 'deactivated_at' => 'datetime', 'renewal_year' => 'integer', ]; } public function member(): BelongsTo { return $this->belongsTo(Member::class); } public function markAsReminder1Sent(): void { $this->update([ 'reminder_1_sent' => true, 'reminder_1_sent_at' => now(), ]); } public function markAsReminder2Sent(): void { $this->update([ 'reminder_2_sent' => true, 'reminder_2_sent_at' => now(), ]); } public function markAsReminder3Sent(): void { $this->update([ 'reminder_3_sent' => true, 'reminder_3_sent_at' => now(), ]); } public function markAsDeactivated(): void { $this->update([ 'deactivation_sent' => true, 'deactivated_at' => now(), ]); } }