FAQS index api with sorting
Fri May 03 2024 10:43:25 GMT+0000 (Coordinated Universal Time)
Saved by
@zeinrahmad99
public function index(Request $request)
{
$request->validate([
'per_page' => ['integer', 'min:1'],
'sort_by' => ['string', 'in:question,answer'],
'sort_order' => ['string', 'in:asc,desc'],
]);
$q = FAQ::query();
if ($request->q) {
$searchTerm = $request->q;
$q->where('question', 'like', "%{$searchTerm}%")
->orWhere('answer', 'like', "%{$searchTerm}%");
}
$sortBy = $request->sort_by ?? 'question';
$sortOrder = $request->sort_order ?? 'asc';
$q->orderBy($sortBy, $sortOrder);
$faqs = $q->paginate($request->per_page ?? 10);
return FAQResource::collection($faqs);
}
content_copyCOPY
Comments