copy()->subWeeks(self::FLAG_RADIUS_WEEKS)->toDateString(); $end = $targetMonday->copy()->addWeeks(self::FLAG_RADIUS_WEEKS)->toDateString(); $rows = DB::table('weekly_pump_prices') ->whereBetween('date', [$start, $end]) ->orderBy('date') ->get(['date', 'ulsp_duty_pence']); if ($rows->count() < 2) { return false; } $previous = null; foreach ($rows as $r) { if ($previous !== null && (int) $r->ulsp_duty_pence !== $previous) { return true; } $previous = (int) $r->ulsp_duty_pence; } return false; } }