diff --git a/app/Http/Controllers/CountryController.php b/app/Http/Controllers/CountryController.php index 2b9be50..e0cf38c 100644 --- a/app/Http/Controllers/CountryController.php +++ b/app/Http/Controllers/CountryController.php @@ -9,7 +9,7 @@ class CountryController extends Controller public function index() { // TASK: load the relationship average of team size - $countries = Country::all(); + $countries = Country::withAvg('teams', 'size')->get(); return view('countries.index', compact('countries')); } diff --git a/app/Http/Controllers/ProjectController.php b/app/Http/Controllers/ProjectController.php index e04fb1a..3118448 100644 --- a/app/Http/Controllers/ProjectController.php +++ b/app/Http/Controllers/ProjectController.php @@ -2,7 +2,9 @@ namespace App\Http\Controllers; +use App\Models\Project; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Auth; class ProjectController extends Controller { @@ -11,6 +13,9 @@ class ProjectController extends Controller // TASK: Add one sentence to save the project to the logged-in user // by $request->project_id and with $request->start_date parameter + /** @var \App\Models\User $user */ + Auth::user()->projects()->attach($request->project_id, ['start_date' => $request->start_date]); + return 'Success'; } } diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index 7ae1d3d..909b97e 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -2,13 +2,14 @@ namespace App\Http\Controllers; +use App\Models\Project; use App\Models\User; class UserController extends Controller { public function index() { - $users = User::all(); + $users = User::has('projects', '>=', 1)->get(); return view('users.index', compact('users')); } diff --git a/app/Models/Attachment.php b/app/Models/Attachment.php index 158b647..37abd79 100644 --- a/app/Models/Attachment.php +++ b/app/Models/Attachment.php @@ -13,6 +13,6 @@ class Attachment extends Model public function attachable() { - // TASK: fill in the code to make it work + return $this->morphTo(); // TASK: fill in the code to make it work } }