2015-07-02 18 views
8

Tôi cố gắng để ủy quyền cho một yêu cầu xóa trên một nguồn lực nếu tài nguyên thuộc về người dùng mà tôi đã tạo ra một yêu cầu Xóa trong Laravel 5.Không thể truy cập id tài nguyên từ tuyến trong yêu cầu xóa Laravel 5?

Đối với một nguồn tài nguyên tôi có thể làm một cái gì đó như:

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

    return true; 
} 

Vì vậy, về cơ bản $this->route('pivots') sẽ trả lại id của trục mà người dùng đang cố gắng để xóa và tôi sẽ kiểm tra nếu nó thuộc về người sử dụng hiện nay.

Nhưng bây giờ tôi đang cố gắng cho một nguồn tài nguyên tương tự như thế này:

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

    return true; 
} 

Tôi cố gắng để chết và đổ $this->route('crop-sections') và nó đi ra để được null nhưng yêu cầu là http://localhost:8000/crop-sections/10 trong đó có id là 10.

Tôi đang làm gì sai?

+0

Điều gì sẽ xảy ra nếu bạn xóa dấu gạch ngang khỏi các tuyến đường và/hoặc tên tuyến đường? –

+0

Điều đó đã đến với tâm trí nhưng tôi không thử nó Tôi không biết tại sao. Tôi sẽ thử và cho bạn biết. Thật không may, tôi sẽ không ở gần PC trong vài giờ. Nhưng cảm ơn. Tôi sẽ thử nó – Rohan

+0

Thuộc tính 'pivot' đến từ đâu? Nó là một mối quan hệ, hoặc một accessor tùy chỉnh? – Hkan

Trả lời

4

Bạn cần phải thay đổi 'cây trồng-phần' thành 'crop_sections'.

Thông số tuyến đường không thể chứa ký tự -. Sử dụng dấu gạch dưới (_) thay thế.

Bạn có thể tìm thêm thông tin here.

Các vấn đề liên quan