diff --git a/src/Http/Controllers/Admin/DashboardController.php b/src/Http/Controllers/Admin/DashboardController.php index 56361205d..c21c27fb1 100644 --- a/src/Http/Controllers/Admin/DashboardController.php +++ b/src/Http/Controllers/Admin/DashboardController.php @@ -121,7 +121,11 @@ public function search(Request $request): Collection })->map(function ($module) use ($request) { $repository = $this->getRepository($module['name'], $module['repository'] ?? null); - $found = $repository->cmsSearch($request->get('search'), $module['search_fields'] ?? ['title'])->take(10); + $found = $repository->cmsSearch( + $request->get('search'), + $module['search_fields'] ?? ['title'], + isset($module['parentRelationship']) ? fn ($q) => $q->whereHas($module['parentRelationship']) : null + )->take(10); return $found->map(function ($item) use ($module) { try { @@ -141,14 +145,8 @@ public function search(Request $request): Collection /** @var BelongsTo $parent */ $parent = call_user_func([$item, $module['parentRelationship']]); $parent_id = $parent->getParentKey(); - - if (empty($parent_id)) { - // Prevent module route error - return null; - } } - return [ 'id' => $item->id, 'href' => moduleRoute( @@ -572,7 +570,7 @@ private function getDrafts(Collection $modules): Collection if ($repository->hasBehavior('revisions')) { $query->mine(); } - + if (isset($module['parentRelationship'])) { /** @var BelongsTo $parent */ $query->whereHas($module['parentRelationship']);