save to codehub
This commit is contained in:
68
app/Http/Controllers/API/DietPlanController.php
Normal file
68
app/Http/Controllers/API/DietPlanController.php
Normal file
@@ -0,0 +1,68 @@
|
||||
<?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.',
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user