Ich habe versucht, einen Suchcode zu schreiben, und das ist mein 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();
Aber wenn ich plan_name in der Anfrage sende, filtert der Code nach Dienstname statt nach Planname
Ich habe versucht, Daten nach Plannamen zu filtern, als ich den Plannamencode in der Anfrage gesendet habe, aber es funktioniert nicht