¿Cómo puedo acceder a los parámetros de cadena de consulta para las solicitudes que he enviado manualmente en Laravel 4?

Estoy escribiendo una API simple y construyendo una aplicación web simple sobre esta API.

Como quiero "consumir mi propia API" directamente, primero busqué en Google y encontré esta respuesta en StackOverflow que responde perfectamente a mi pregunta inicial:Consumiendo mi propia API de Laravel

Ahora, esto funciona muy bien, puedo acceder a mi API haciendo algo como:

$request = Request::create('/api/cars/'.$id, 'GET');
$instance = json_decode(Route::dispatch($request)->getContent());

¡Esto es genial! Pero, mi API también le permite agregar un opcionalcampos parámetro a la cadena de consulta GET para especificar atributos específicos que deben devolverse, como este:

http://cars.com/api/cars/1?fields=id,color

Ahora la forma en que realmente manejo esto en la API es algo como esto:

public function show(Car $car)
{
     if(Input::has('fields'))
     {
          //Here I do some logic and basically return only fields requested
          ....
     ...
 }

Supongo que podría hacer algo similar a lo que hice antes con el enfoque sin parámetros de cadena de consulta, algo como esto:

$request = Request::create('/api/cars/' . $id . '?fields=id,color', 'GET');
$instance = json_decode(Route::dispatch($request)->getContent());

PERO, no lo parece. Larga historia corta, después de pasar por el código parece que elRequest el objeto se crea correctamente (y saca correctamente elcampos parámetro y asignaid, color para ello), y la Ruta parece ser enviada bien, pero dentro de mi controlador API, no sé cómo acceder a lacampo parámetro. UtilizandoInput::get('fields') (que es lo que uso para las solicitudes "normales") no devuelve nada, y estoy bastante seguro de que es porque la estáticaInput está haciendo referencia o alcance a la solicitud inicial en la que entró, NO a la nueva solicitud que envié "manualmente" desde la propia aplicación.

Entonces, mi pregunta es realmente, ¿cómo debería estar haciendo esto? ¿Estoy haciendo algo mal? Idealmente, me gustaría evitar hacer algo feo o especial en mi controlador API, me gustaría poder usar Input :: get para las solicitudes enviadas internamente y no tener que realizar una segunda verificación, etc.

Respuestas a la pregunta(3)

Su respuesta a la pregunta