J'ai essayé d'écrire un code de recherche et voici mon code :
$services = Service::query()->with('plans')->latest(); if ($request->service_name) { $services = $services->whereRaw("CONVERT(JSON_EXTRACT(name, '$.ar') using 'utf8') LIKE '%$request->service_name%' ") ->orWhereRaw("CONVERT(JSON_EXTRACT(name, '$.en') using 'utf8') LIKE '%$request->service_name%' ") ->orWhereRaw("CONVERT(JSON_EXTRACT(name, '$.he') using 'utf8') LIKE '%$request->service_name%' "); } if ($request->plan_name) { $plan_name = $request->plan_name; $services = $services->whereHas('plans', function ($q) use ($plan_name) { $q->where('name->en','Like','%'.$plan_name.'%'); }); } return $services->get();
Mais lorsque j'envoie plan_name dans la demande, le code filtre par nom de service au lieu du nom du plan
J'ai essayé de filtrer les données par nom de plan lors de l'envoi du code du nom de plan dans la demande, mais cela ne fonctionne pas