How to get last week Data in Laravel 11 | Check our tools website Word count
How to get last week Data in Laravel 11 | Check our tools website Word count

How to get last week Data in Laravel 11


In Laravel, retrieving data from the past week is a common task, especially in applications dealing with time-based data such as analytics, reporting, or scheduling. Fortunately, Laravel provides convenient methods to fetch data from the previous week with ease. In this tutorial, we’ll walk through the steps to achieve this with simple and understandable code examples.

Step 1:

Setting Up Your Laravel Project Before we dive into fetching last week’s data, make sure you have Laravel installed on your system. If not, you can quickly set it up by following the official Laravel documentation at

Once your Laravel project is set up, navigate to your project directory in the terminal and run the following command to create a new controller:

php artisan make:controller LastWeekDataController

This command generates a new controller named LastWeekDataController in the app/Http/Controllers directory.

Step 2:

Implementing the Logic Now, let’s implement the logic to retrieve data from the previous week in our controller. Open the LastWeekDataController.php file located in the app/Http/Controllers directory and add the following method:


namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Carbon\Carbon;
use App\Models\YourModel; // Replace YourModel with the name of your model

class LastWeekDataController extends Controller
public function getLastWeekData()
$startDate = Carbon::now()->startOfWeek()->subWeek(); // Start of last week
$endDate = Carbon::now()->startOfWeek(); // End of last week

$lastWeekData = YourModel::whereBetween('created_at', [$startDate, $endDate])->get();

return $lastWeekData;

In this code:

  • We’re using the Carbon library, which comes pre-installed with Laravel, to handle date manipulations.
  • Carbon::now()->startOfWeek()->subWeek() gives us the start date of the previous week.
  • Carbon::now()->startOfWeek() gives us the end date of the previous week.
  • We then use the whereBetween() method to filter data based on the created_at column of our model (replace YourModel with the name of your actual model).

Step 3:

Routing Next, let’s create a route to access our getLastWeekData() method. Open the web.php file located in the routes directory and add the following route:

Route::get('/last-week-data', 'App\Http\Controllers\LastWeekDataController@getLastWeekData');

Step 4:

Testing the Endpoint Now that we have implemented the logic and defined a route, let’s test our endpoint. Start your Laravel development server by running the following command in your terminal:

php artisan serve

Open your web browser and navigate to http://localhost:8000/last-week-data. If everything is set up correctly, you should see the data from the previous week displayed on your screen.


In this tutorial, we’ve covered how to retrieve data from the last week in a Laravel application. By leveraging Laravel’s built-in features such as Carbon for date manipulation and eloquent methods for querying the database, we were able to achieve this task with simplicity and ease. Feel free to adapt this approach to your specific use case and explore more advanced functionalities offered by Laravel. Happy coding!