Group::paginate(), ]); } /** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { $request->validate([ 'name' => 'required|string|max:255' ]); Group::create(['name' => $request->name]); } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Request $request, Group $group) { $request->validate([ 'name' => 'required|string|max:255' ]); $group->update(['name' => $request->name]); } /** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy(Group $group) { $group->regions()->each(function ($region) { $region->companies()->each(function($company) { $company->users()->delete(); }); $region->companies()->delete(); }); $group->regions()->delete(); $group->delete(); } }