2015-02-11 14 views
8

Ho un url del tipo: MYURL?filter[_per_page]=25&filter[name][value]=helloRamoscello ottenere parametro URL con []

Come posso ottenere questi parametri con ramoscello?

Sto cercando {{ app.request.get('filter[_per_page]') }} ma è sempre vuoto ...

Grazie!

Edit: Sono in javascript un Voglio assegnare questo risultato a una variabile javascript come: var param = "{{ app.request.get('filter[_per_page]') }}";

+0

Stai cercando di accedere ai parametri di query da una sotto richiesta (cioè il controller di incorporamento)? prova a chiamare {{app.request.query.all}} e vedi cosa stampa. Spero che questo aiuto. – Matteo

risposta

15

È necessario gestire come un array accede all'elemento filter come:

{{ app.request.get('filter')['_per_page'] }} 

(Questa volta provo prima di pubblicare ...)

+0

Sicuro? ^^ Impossibile accedere a una chiave ("_per_page") su una variabile NULL –

+0

Molto strano ... Copio esattamente il tuo simile. Se provo con '{{app.request.get ('filter')}}' prendo l'errore: 'Array to string conversion' quindi aggiungo l'elemento key dell'array di accesso e print correclty' 25' ... – Matteo

+0

Per me con solo {{app.request.get ('filtro')}} non ho niente, stringa vuota di nuovo ... –

4

Hai quasi fatta.

app l'oggetto è l'istanza GlobalVariables. Quando dici app.request, getRequest() viene richiamato e restituisce un'istanza dell'oggetto standard Request.

Ora, se si guarda a Request::get() (link) si trova:

get(string $key, mixed $default = null, bool $deep = false) 

Penso che quello che dovete fare è questo:

{{ app.request.get('filter[_per_page]', NULL, true) }} 

Dove NULL è il valore di default e true significa deep attraversamento dell'oggetto Request.

+0

No, è lo stesso, ho un valore vuoto –