web-dev-qa-db-fra.com

Laravel5 Response "Le code d'état HTTP" 1 "n'est pas valide."

J'ai une requête de jointure volumineuse mais simple pour les données volumineuses. Si j’imprime le résultat de la requête à l’aide de dd() ou var_dump() j’obtiens un résultat, mais si je transmets des résultats, ou redirige, j’obtiens une exception qui est 

"Le code d'état HTTP" 1 "n'est pas valide."

Voici le code d'action:

public function postSearch(Request $request)
{
    $min_price  = !empty($request['min_price']) ? $request['min_price'] : 500;
    $max_price  = !empty($request['max_price']) ? $request['max_price'] : 50000000000;

    $properties = DB::table('properties')
                ->join('addresses', function($join) {
                    $join->on('properties.id', '=', 'addresses.property_id');
                })
                ->where('status', '=', 1)
                ->where('category', '=', $request['search_category'])
                ->where('type', '=', $request['contract'])
                ->where('city', '=', $request['search_city'])
                ->where('area', '=', $request['property_area'])
                ->where('bed_room', '=', $request['search_bedroom'])
                ->where('bath_room', '=', $request['bath_room'])
                ->whereBetween('price', [$min_price, $max_price])
                ->orderBy('properties.updated_at', 'desc')
                ->paginate(15);
    try {
        if(!empty($properties))
        {
            return Redirect::to('property/search', compact('properties'));
        }
        else
        {
            return Redirect::to('/')->with('message', PropertyHelper::formatMessage(trans('property.property_not_found'), 'danger'));
        }
    }
    catch(\Exception $ex) {
        dd($ex->getMessage());
    }

}
9
user3976041

J'imagine que vous essayez d'afficher les résultats de la recherche après la recherche. Le problème est cette ligne.

return Redirect::to('property/search', compact('properties'));

Après avoir obtenu le résultat de la recherche, vous devez appeler une vue et non rediriger.

return view('property.search', compact('properties'));

Mais assurez-vous que vous avez le fichier de vue.

La source

23
mininoz

De plus, dans Laravel 5, il m’arrive d’oublier et d’essayer d’utiliser la route nommée dans la redirection:

return redirect('users.overview', ['id' => $id]); // Error

au lieu de:

return redirect()->route('users.overview', ['id' => $id]);
2
Rav

J'ai eu le même problème.

Essayez d’utiliser with () comme dans votre bloc else:

return Redirect::to('property/search')->with(compact('properties'))

De plus, à partir de Laravel 5, vous pouvez simplement utiliser le helper redirect () comme ceci:

return redirect('property/search')->with(compact('properties'))
1
kirly