Daniel-Pablo's avatar

help with code

Hi, I can't make this work... I need to pass a parameter called SERVICE TYPE but the parameter doesn't enter and doesn't enter inside the function any idea how can this be managed...

    public function search(Request $request)
    {

        $words = $request->input('query');
        $serviceType = $request->input('serviceType'); 

        $results = (new Search())
       ->registerModel(Service::class, function(ModelSearchAspect $modelSearchAspect) {
            $modelSearchAspect
            ->addSearchableAttribute('tittle')
            ->where('online_service' , $serviceType )
            ->with(['user' , 'serviceGallery']);


        })->search($words);

        return response()->json($results);






    }
0 likes
4 replies
Daniel-Pablo's avatar

I got to do this, and is so nasty to see the code :(

        $results = '';
        $words = $request->input('query');
        $serviceType = $request->input('serviceType');


if ($serviceType === 'true') {

        $results = (new Search())
        ->registerModel(Service::class, function(ModelSearchAspect $modelSearchAspect) {
            $modelSearchAspect
            ->addSearchableAttribute('tittle')
            ->where('online_service' , 1 )
            ->with(['user' , 'serviceGallery']);
        })->search($words);

}else{

            $results = (new Search())
        ->registerModel(Service::class, function(ModelSearchAspect $modelSearchAspect) {
            $modelSearchAspect
            ->addSearchableAttribute('tittle')
            ->where('online_service' , 0 )
            ->with(['user' , 'serviceGallery']);
        })->search($words);

}



        return response()->json($results);
guybrush_threepwood's avatar
Level 33

Hi @santino

You just need to pass the variable to your closure:

 public function search(Request $request)
    {
        $words = $request->input('query');
        $serviceType = $request->input('serviceType'); 

        $results = (new Search())
           ->registerModel(Service::class, function(ModelSearchAspect $modelSearchAspect) use ($serviceType) {
               $modelSearchAspect
                  ->addSearchableAttribute('tittle')
                  ->where('online_service', $serviceType)
                  ->with(['user', 'serviceGallery']);
        })->search($words);

        return response()->json($results);
    }

Please or to participate in this conversation.