updateOrCreate([ 'challenge_id' => $challenge->id, 'card_id' => $card->id, ], [ 'user_id' => $user->id, 'status' => NovaCardChallengeEntry::STATUS_ACTIVE, 'note' => $note, ]); $challenge->forceFill([ 'entries_count' => NovaCardChallengeEntry::query()->where('challenge_id', $challenge->id)->count(), ])->save(); $card->forceFill([ 'challenge_entries_count' => NovaCardChallengeEntry::query()->where('card_id', $card->id)->count(), 'last_engaged_at' => now(), ])->save(); return $entry; } }