From b7c8eaac588e941ef5706f94078864f2fb94404d Mon Sep 17 00:00:00 2001 From: sayaliparab Date: Mon, 28 Apr 2025 16:00:30 +0530 Subject: [PATCH] userName --- .../APIS/AdminApi/AssetadmintController.php | 46 ++++++++++++++++++- 1 file changed, 44 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/APIS/AdminApi/AssetadmintController.php b/app/Http/Controllers/APIS/AdminApi/AssetadmintController.php index c94f93f..b4f671b 100644 --- a/app/Http/Controllers/APIS/AdminApi/AssetadmintController.php +++ b/app/Http/Controllers/APIS/AdminApi/AssetadmintController.php @@ -188,12 +188,54 @@ class AssetadmintController extends Controller // } // } + // public function listAssest() + // { + // try { + // $assets = Asset::with([ + // 'customer:id,name', + // 'userAssetLinks.user:id,first_name,last_name' // eager load first_name and last_name + // ])->get()->map(function ($asset) { + // $assetData = $asset->toArray(); + + // unset($assetData['customer'], $assetData['user_asset_links']); // remove full objects + + // $assetData['customer_name'] = $asset->customer?->name; + + // // Collect user id and full name (first_name + last_name) from user_asset_links + // $assignToUsers = $asset->userAssetLinks->map(function ($userAssetLink) { + // $user = $userAssetLink->user; + // if ($user) { + // return [ + // 'user_id' => $user->id, + // 'full_name' => trim($user->first_name . ' ' . $user->last_name), + // ]; + // } + // return null; + // })->filter()->values(); // remove nulls and reset keys + + // $assetData['assign_to_users'] = $assignToUsers; + + // return $assetData; + // }); + + // return jsonResponseWithSuccessMessage('Assets fetched successfully', [ + // 'assets' => $assets + // ]); + // } catch (Exception $e) { + // Log::error("An error occurred: " . $e->getMessage()); + // return jsonResponseWithErrorMessage($e->getMessage(), 500); + // } + // } + public function listAssest() { try { $assets = Asset::with([ 'customer:id,name', - 'userAssetLinks.user:id,first_name,last_name' // eager load first_name and last_name + 'userAssetLinks' => function ($query) { + $query->where('active', 1) // Only fetch active user asset links + ->with(['user:id,first_name,last_name']); // Eager load user info + } ])->get()->map(function ($asset) { $assetData = $asset->toArray(); @@ -201,7 +243,7 @@ class AssetadmintController extends Controller $assetData['customer_name'] = $asset->customer?->name; - // Collect user id and full name (first_name + last_name) from user_asset_links + // Collect user id and full name (first_name + last_name) from active user_asset_links $assignToUsers = $asset->userAssetLinks->map(function ($userAssetLink) { $user = $userAssetLink->user; if ($user) { -- 2.34.1