Filtro con menú desplegable Laravel

Tengo un menú desplegable que estoy usando para filtrar imágenes por categoría. Mi primer problema es que quiero que se seleccione la opción seleccionada después del filtro, ¿cómo puedo hacer eso?

Esta es la primera vez que uso Laravel y me pregunto si voy en la dirección correcta con mi solución (ahora tengo el mismo código en dos funciones, estoy planeando arreglarlo), pero realmente no puedo entenderlo. la mejor manera de hacer esto. ¿Puedo tener una función que toma una categoría o nulo?

 

rutas

 Route::get('/', array('uses' => '[email protected]')); Route::get('/{category?}', array('uses' => '[email protected]')); 

controlador

 public function index() { $images = Image::all(); $categories = ..\Models\Category::all(); return View::make('index', array('images' => $images, 'categories' => $categories)); } public function filter($category){ $images = Image::where('category_id', '=', $category); $categories = ..\Models\Category::all(); return View::make('index', array('images' => $images, 'categories' => $categories)); } 

En su opinión, agregue una condición para verificar si la categoría actual en el ciclo es la seleccionada.

 @foreach ($categories as $category) @if($category->id == Input::get('category') // echo category as selected @else // echo category @endif @endforeach 

Es posible que necesite usar html .

Puede usar el mismo enfoque para combinar las dos funciones.

 if(Input::has('category')) $images = Image::where('category_id', '=', $category); else $images = Image::all(); 

Esto debería funcionar ya que está utilizando un parámetro de ruta opcional.

Actualizar:

Use seleccionar de la siguiente manera:

 @foreach ($categories as $category)  @endforeach 

Usando el atributo onchange se llamará a una función de javascript, luego puede usar la redirección.

  

donde filter es la función en su controlador.