lundi 6 mai 2019

"Where" is not working in select query in Laravel

Here is my code showing all the results with geolocation

$jobs = Job::select(
            DB::raw("*, status,
                          ( 6371 * acos( cos( radians(?) ) *
                            cos( radians( latitude ) )
                            * cos( radians( longitude ) - radians(?)
                            ) + sin( radians(?) ) *
                            sin( radians( latitude ) ) )
                          ) AS distance"))
            ->having("distance", "<", "?")
            ->setBindings([$service->latitude, $service->longitude, $service->latitude, 30])
            ->with(['user'])
            ->orderBy("id", "desc");

        $jobs = $jobs->simplePaginate(10);

But the above code is not working with "where" like below and giving me an empty array

$jobs = Job::select(
            DB::raw("*, status,
                          ( 6371 * acos( cos( radians(?) ) *
                            cos( radians( latitude ) )
                            * cos( radians( longitude ) - radians(?)
                            ) + sin( radians(?) ) *
                            sin( radians( latitude ) ) )
                          ) AS distance"))
            ->having("distance", "<", "?")
            ->setBindings([$service->latitude, $service->longitude, $service->latitude, 30])
            ->with(['user'])
            ->where("status", 3)   // not working
            ->orderBy("id", "desc");

        $jobs = $jobs->simplePaginate(10);



via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire