2016-10-25 32 views
8

Trong cả hai ấu trùng 4.2 và laravel 5.3, có một tùy chọn trong tuyến đường để sử dụng bộ điều khiển ngầm. Cú pháp giống nhau cho cả hai phiên bản.Làm cách nào để truyền tham số tới bộ điều khiển ngầm trong Laravel 5?

Route::controller('myroute', 'myDearController'); 

Vì vậy, các URL sẽ là:

http://my.domain.com/myroute/function-name/parameter1/parameter2 

Trong laravel 4, bộ điều khiển sẽ trông giống như:

//..... Some other controller related syntax ...... 
public function getFunctionName($parameter1, $parameter2) { 
    $inputs = Input::all(); 
    dd($inputs); 
} 
//..... Some other controller related syntax ...... 

Tuy nhiên, trong laravel 5, để có được đầu vào GET, nó chiếm một vị trí thông số, vì vậy tôi đã cố gắng thực hiện một cái gì đó như thế này:

//..... Some other controller related syntax ...... 
public function getFunctionName(Request $request, $parameter1, $parameter2) { 
    $inputs = $request->all(); 
    dd($inputs); 
} 
//..... Some other controller related syntax ...... 

Tuy nhiên, URL trả về The site can't be reached. Tôi đã thử chuyển đổi vị trí,

//..... Some other controller related syntax ...... 
public function getFunctionName($parameter1, $parameter2, Request $request) { 
    $inputs = $request->all(); 
    dd($inputs); 
} 
//..... Some other controller related syntax ...... 

Nó không hoạt động. Tôi biết tôi có thể thêm dòng Route::get('myroute/function-name/{$parameter1}/{$parameter2}', '[email protected]') vào tệp tuyến đường, nhưng ngoài việc chỉ định rõ ràng trong tệp tuyến đường, có cách mặc định để làm như vậy không?

Trả lời

0

Bạn không thể sử dụng ::controller nữa, vì vậy bạn sẽ cần tạo các tuyến đường rõ ràng cho ứng dụng Laravel 5 và không có cách nào mặc định để thực hiện những gì ::controller đã làm trong phiên bản 4.2. Bạn có thể xem Resource controllers cho phép bạn sử dụng một số tuyến đường ngầm cho CRUD.

Định tuyến tài nguyên Laravel gán các tuyến "CRUD" điển hình cho bộ điều khiển với một dòng mã.

+0

Dòng đó cho biết Trình điều khiển Tuyến đường :: không hoạt động nữa? Như một vấn đề của thực tế, tôi đang sử dụng Route :: điều khiển và nó hoạt động tốt ngoại trừ một phần của tham số đi qua. – cytsunny

+0

Trong 5.3, nó sẽ cung cấp cho bạn lỗi 'Phương thức điều khiển không tồn tại'. –

1

Với các tuyến đường rõ ràng, cần là {parameter} thay vì {$parameter}. vậy,

Route::get('myroute/function-name/{parameter1}/{parameter2}', '[email protected]') 
+0

Dường như bạn làm chủ được ấu trùng. Tôi cần bạn giúp. Xem tại đây: http://stackoverflow.com/questions/41047583/how-to-add-dynamic-dropdown-list-column-on-laravel-5-3-registration –

0
Route::resource('myroute', 'myDearController'); 

Nếu bạn sau đó làm đường php nghệ nhân: danh sách bạn sẽ thấy một danh sách tất cả các tuyến đường của bạn.

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