68 lines
1.9 KiB
PHP
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.',
|
|
]);
|
|
}
|
|
}
|
|
|
|
} |