diff --git a/app/Group/Actions/GroupApiIndexAction.php b/app/Group/Actions/GroupApiIndexAction.php index 725fba6c..f5614fc3 100644 --- a/app/Group/Actions/GroupApiIndexAction.php +++ b/app/Group/Actions/GroupApiIndexAction.php @@ -6,6 +6,7 @@ use App\Group; use App\Group\Resources\GroupResource; use Illuminate\Database\Eloquent\Collection; use Illuminate\Http\Resources\Json\AnonymousResourceCollection; +use Lorisleiva\Actions\ActionRequest; use Lorisleiva\Actions\Concerns\AsAction; class GroupApiIndexAction @@ -20,8 +21,12 @@ class GroupApiIndexAction return Group::get(); } - public function asController(?Group $group = null): AnonymousResourceCollection + public function asController(ActionRequest $request, ?Group $group = null): AnonymousResourceCollection { - return GroupResource::collection($group ? $group->children()->withCount('children')->get() : Group::where('parent_id', null)->withCount('children')->get()); + return GroupResource::collection( + $request->has('all') + ? Group::with('children')->get() + : ($group ? $group->children()->withCount('children')->get() : Group::where('parent_id', null)->withCount('children')->get()) + ); } } diff --git a/resources/js/views/form/Conditions.vue b/resources/js/views/form/Conditions.vue index 295da801..9a73fa0c 100644 --- a/resources/js/views/form/Conditions.vue +++ b/resources/js/views/form/Conditions.vue @@ -176,6 +176,6 @@ if (props.single.links && props.single.links.is_dirty) { const groupOptions = ref([]); onMounted(async () => { - groupOptions.value = (await axios.get('/api/group')).data.data; + groupOptions.value = (await axios.get('/api/group?all')).data.data; });