2015-07-02 8 views
8

Sto cercando di autorizzare una richiesta di eliminazione su una risorsa se la risorsa appartiene ad un utente per il quale ho creato una richiesta di eliminazione in laravel 5.Impossibile accedere all'ID risorsa dal percorso in Laravel 5 richiesta di eliminazione?

Per un'altra risorsa avrei potuto fare qualcosa di simile:

public function authorize() 
{ 
    if(Pivot::findOrFail($this->route('pivots'))->user_id != Auth::user()->id){ 
     return false; 
    } 

    return true; 
} 

Quindi, in pratica, $this->route('pivots') restituirebbe l'id del pivot che l'utente sta tentando di eliminare e vorrei verificare se appartiene all'utente corrente.

Ma ora sto cercando di un'altra risorsa simile a questo:

public function authorize() 
{ 
    if(CropSection::findOrFail($this->route('crop-sections'))->pivot->user_id != Auth::user()->id){ 
     return false; 
    } 

    return true; 
} 

ho cercato di morire e scaricare $this->route('crop-sections') e risulta essere nulla, ma la richiesta è stata http://localhost:8000/crop-sections/10 che ha l'id come 10.

Cosa sto sbagliando?

+0

Cosa succede se si rimuovono i trattini dai percorsi e/o dal nome della rotta? –

+0

Mi è venuto in mente ma non l'ho provato, non so perché. Farò un tentativo e farti sapere. Sfortunatamente non sarò su un PC per poche ore. Ma grazie. Lo proverò – Rohan

+0

Da dove viene l'attributo 'pivot'? È una relazione o un accessorio personalizzato? – Hkan

risposta

4

Devi cambiare 'sezioni di ritaglio' in 'crop_sections'.

I parametri di percorso non possono contenere il carattere -. Utilizzare invece un carattere di sottolineatura (_).

Potete trovare ulteriori informazioni here.

Problemi correlati