diff --git a/README.md b/README.md
index d97c776..9d64cea 100644
--- a/README.md
+++ b/README.md
@@ -91,3 +91,11 @@ Test method `test_belongstomany_add()`.
---
+## Task 9. Filter BelongsToMany Rows
+
+In the route `/users`, the list should show only the users with at least one project. Fix the Controller to add this filter.
+
+Test method `test_filter_users()`.
+
+---
+
diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php
index f7cd286..7ae1d3d 100644
--- a/app/Http/Controllers/UserController.php
+++ b/app/Http/Controllers/UserController.php
@@ -6,6 +6,13 @@ use App\Models\User;
class UserController extends Controller
{
+ public function index()
+ {
+ $users = User::all();
+
+ return view('users.index', compact('users'));
+ }
+
public function show(User $user)
{
return view('users.show', compact('user'));
diff --git a/resources/views/users/index.blade.php b/resources/views/users/index.blade.php
new file mode 100644
index 0000000..2264bfc
--- /dev/null
+++ b/resources/views/users/index.blade.php
@@ -0,0 +1,5 @@
+
+ @foreach ($users as $user)
+ - {{ $user->name }} ({{ $user->email }})
+ @endforeach
+
diff --git a/routes/web.php b/routes/web.php
index ead44b9..ff19277 100644
--- a/routes/web.php
+++ b/routes/web.php
@@ -21,6 +21,7 @@ Route::get('/', function () {
Route::get('tasks', [TaskController::class, 'index']);
Route::post('tasks', [TaskController::class, 'store'])->middleware('auth');
+Route::get('users', [\App\Http\Controllers\UserController::class, 'index']);
Route::get('users/{user}', [\App\Http\Controllers\UserController::class, 'show']);
Route::get('roles', [\App\Http\Controllers\RoleController::class, 'index']);
@@ -32,3 +33,4 @@ Route::get('countries', [\App\Http\Controllers\CountryController::class, 'index'
Route::get('attachments', [\App\Http\Controllers\AttachmentController::class, 'index']);
Route::post('projects', [\App\Http\Controllers\ProjectController::class, 'store'])->middleware('auth');
+
diff --git a/tests/Feature/RelationshipsTest.php b/tests/Feature/RelationshipsTest.php
index c23ec1a..8c01c05 100644
--- a/tests/Feature/RelationshipsTest.php
+++ b/tests/Feature/RelationshipsTest.php
@@ -153,4 +153,21 @@ class RelationshipsTest extends TestCase
'start_date' => now()->toDateString()
]);
}
+
+ // TASK: show only the users who have at least one project
+ public function test_filter_users()
+ {
+ $user1 = User::factory()->create();
+ $user2 = User::factory()->create();
+ $project = Project::create(['name' => 'Some project']);
+ DB::table('project_user')->insert([
+ 'project_id' => $project->id,
+ 'user_id' => $user1->id,
+ 'start_date' => now()->toDateString()
+ ]);
+
+ $response = $this->get('/users');
+ $response->assertSee($user1->email);
+ $response->assertDontSee($user2->email);
+ }
}