Files
vedant-chavan/app/Http/Controllers/API/DietPlanController.php
vedant-chavan eff0228447 first commit
2024-06-12 20:29:05 +05:30

68 lines
1.9 KiB
PHP

<?php
namespace App\Http\Controllers\API;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\DietPlan;
use App\Models\UserOverView;
class DietPlanController extends Controller
{
public function get_diet_categories(Request $request)
{
try {
$token = readHeaderToken();
if ($token) {
$user_id = $token['sub'];
$filters = $request->diet_categories;
// Retrieve the user's bmr from UserOverview table
$userOverview = UserOverview::where('user_id', $user_id)
->orderBy('id', 'desc')
->first();
// dd($userOverview);
$bmr = $userOverview->bmr;
$bmrInt = intval($bmr);
// Retrieve diet plans based on filters and bmr range
$query = DietPlan::query();
// Apply filters
if ($filters && in_array($filters, ['Veg', 'Non-Veg'])) {
$query->where('diet_categories', '=', $filters);
}
// Apply bmr range filter
$query->where('bmr_range_from', '<=', $bmrInt)
->where('bmr_range_to', '>=', $bmrInt);
// Add more filter conditions if needed
$manage_diet_plan = $query->get()->toArray();
return response()->json([
'success' => true,
'message' => 'Data fetched successfully.',
'result' => $manage_diet_plan
]);
} else {
return response()->json([
'success' => false,
'message' => 'Authentication failed.',
]);
}
} catch (\Exception $e) {
\Log::error("Activity data listing failed: " . $e->getMessage());
return response()->json([
'success' => false,
'message' => 'Something went wrong.',
]);
}
}
}