2015-04-10 12 views
8

Mam duże, ale proste zapytanie o łączenie dużych danych. Jeśli mogę wydrukować wynik kwerendy przy użyciu dd() lub var_dump() dostaję wynik, ale jeśli mogę przekazać dane wynikowe lub przekierować uzyskać wyjątek, który jestOdpowiedź Laravel5 "Kod statusu HTTP" 1 "jest nieprawidłowy."

„Kod stanu HTTP«1»nie jest ważne.”

Oto kod działanie:

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()); 
    } 

} 

Odpowiedz

20

Chyba próbują pokazać wyniki wyszukiwania po przeszukaniu. Problemem jest ta linia.

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

Po uzyskaniu wyniku wyszukiwania należy wywołać widok, a nie przekierować.

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

Ale upewnij się, że masz plik widoku.

źródło: http://laravel.com/docs/5.0/views#basic-usage

+0

tak, to prawda. Mój błąd. Dzięki –

+0

nie ma za co :) – mininoz

+0

Dzięki za pracę dla mnie ../ –

1

miałem ten sam problem.

Spróbuj korzystania z() jak w innym bloku:

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

Ponadto począwszy od laravel 5, można po prostu użyć przekierowania() pomocnika takiego:

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

miałem rodzaj tego samego problemu. Zgodnie Larvel 5.1 documentation, przekierowanie może przynieść parametry w ten sposób:

return redirect('yourRoute')->with('param', 'value');

Następnie w widoku echo parametru:

@if (session('param')) 
    {{ session('param') }} 
@endif 
1

Również w laravel 5 zdarza mi się, kiedy zapomnę i spróbuj stosując nazwie trasę na przekierowanie:

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

zamiast:

return redirect()->route('users.overview', ['id' => $id]); 
Powiązane problemy