2015-09-26 52 views
2

我正在做一個房地產應用程序。當用戶打開其出版的屬性編輯之一,在編輯頁面,形式是這樣開的:Laravel 5.1 - 如何發送參數到授權()函數

{!! Form::model($property, ['method'=>'PUT', 'route'=>['property.update', 'id'=>$property->id], 'files'=>true]) !!} 

正如你所看到的,「路線」數組中的我要送指定的路線和要編輯的屬性的ID。但是,如何在請求類中訪問$ id?

class EditPropertyRequest extends Request 
{ 
    /** 
    * Determine if the user owns this property and is authorized to make this request. 
    * 
    * @return bool 
    */ 
    public function authorize($id) 
    { 
     return Property::where('user_id', auth()->user()->id) 
         ->where('id', $id) 
         ->exists(); 
    } 
} 

我得到的錯誤是

缺少參數1 應用程序\ HTTP \請求\ EditPropertyRequest ::授權()

回答

2

這是從文檔

public function authorize() 
{ 
    $commentId = $this->route('comment'); 

    return Comment::where('id', $commentId) 
        ->where('user_id', Auth::id())->exists(); 
} 

所以$this->route('comment');是一個URL參數Route::post('comment/{comment}');

+0

好吧,現在我明白了,你不會傳遞參數,但你使用路線方法。它工作完美。謝謝。 –