Я новичок в Laravel и у меня возникают некоторые проблемы с классом маршрутовLaravel 5.2 маршруты не работает должным образом
Вот мой routes.php
Route::get('/', function() {
return view('welcome');
});
Route::auth();
Route::get('/home', '[email protected]');
Route::resource('/dashboard', 'DashboardController');
Route::resource('/dashboard/users', 'DashboardUsersController');
Route::resource('/dashboard/posts', 'DashboardPostsController');
Все вышеперечисленные маршруты работают кроме
app.dev/dashboard/users/index
app.dev/dashboard/posts/index
каждый маршрут, который я создаю как
Route::get('dashboard/users/import', function(){
return 'Importing a user';
});
или
Route::get('dashboard/users', '[email protected]');
Я уже пробовал некоторые предложения, которые я нашел здесь, как очистка кэша, вид и маршрут, но никто не работал, разрешение моей папке проекта является 777
Вот мой DashboardUsersController .php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
class DashboardUsersController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
return view('admin.users.index');
}
public function getUsers()
{
return view('admin.users.index');
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
return view('admin.users.index');
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
//
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
return view('admin.users.index');
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
//
}
}
Редактировать PHP мастерового маршрута: список
+--------+-----------+------------------------------+-------------------------+-----------------------------------------------------------------+------------+
| Domain | Method | URI | Name | Action | Middleware |
+--------+-----------+------------------------------+-------------------------+-----------------------------------------------------------------+------------+
| | GET|HEAD |/ | | Closure | web |
| | POST | dashboard | dashboard.store | App\Http\Controllers\[email protected] | web |
| | GET|HEAD | dashboard | dashboard.index | App\Http\Controllers\[email protected] | web |
| | GET|HEAD | dashboard/create | dashboard.create | App\Http\Controllers\[email protected] | web |
| | POST | dashboard/posts | dashboard.posts.store | App\Http\Controllers\[email protected] | web |
| | GET|HEAD | dashboard/posts | dashboard.posts.index | App\Http\Controllers\[email protected] | web |
| | GET|HEAD | dashboard/posts/create | dashboard.posts.create | App\Http\Controllers\[email protected] | web |
| | PUT|PATCH | dashboard/posts/{posts} | dashboard.posts.update | App\Http\Controllers\[email protected] | web |
| | DELETE | dashboard/posts/{posts} | dashboard.posts.destroy | App\Http\Controllers\[email protected] | web |
| | GET|HEAD | dashboard/posts/{posts} | dashboard.posts.show | App\Http\Controllers\[email protected] | web |
| | GET|HEAD | dashboard/posts/{posts}/edit | dashboard.posts.edit | App\Http\Controllers\[email protected] | web |
| | GET|HEAD | dashboard/users | dashboard.users.index | App\Http\Controllers\[email protected] | web |
| | POST | dashboard/users | dashboard.users.store | App\Http\Controllers\[email protected] | web |
| | GET|HEAD | dashboard/users/create | dashboard.users.create | App\Http\Controllers\[email protected] | web |
| | DELETE | dashboard/users/{users} | dashboard.users.destroy | App\Http\Controllers\[email protected] | web |
| | GET|HEAD | dashboard/users/{users} | dashboard.users.show | App\Http\Controllers\[email protected] | web |
| | PUT|PATCH | dashboard/users/{users} | dashboard.users.update | App\Http\Controllers\[email protected] | web |
| | GET|HEAD | dashboard/users/{users}/edit | dashboard.users.edit | App\Http\Controllers\[email protected] | web |
| | PUT|PATCH | dashboard/{dashboard} | dashboard.update | App\Http\Controllers\[email protected] | web |
| | DELETE | dashboard/{dashboard} | dashboard.destroy | App\Http\Controllers\[email protected] | web |
| | GET|HEAD | dashboard/{dashboard} | dashboard.show | App\Http\Controllers\[email protected] | web |
| | GET|HEAD | dashboard/{dashboard}/edit | dashboard.edit | App\Http\Controllers\[email protected] | web |
| | GET|HEAD | home | | App\Http\Controllers\[email protected] | web,auth |
| | GET|HEAD | login | | App\Http\Controllers\Auth\[email protected] | web,guest |
| | POST | login | | App\Http\Controllers\Auth\[email protected] | web,guest |
| | GET|HEAD | logout | | App\Http\Controllers\Auth\[email protected] | web |
| | POST | password/email | | App\Http\Controllers\Auth\[email protected] | web,guest |
| | POST | password/reset | | App\Http\Controllers\Auth\[email protected] | web,guest |
| | GET|HEAD | password/reset/{token?} | | App\Http\Controllers\Auth\[email protected] | web,guest |
| | POST | register | | App\Http\Controllers\Auth\[email protected] | web,guest |
| | GET|HEAD | register | | App\Http\Controllers\Auth\[email protected] | web,guest |
+--------+-----------+------------------------------+-------------------------+-----------------------------------------------------------------+------------+
Как я сказал, что все вышеуказанные маршруты работают, кроме
/dashboard/users
/dashboard/posts
, которые должны быть маршрутизации в index
способе DashboardUsersController и DashboardPostsController, и каждый пользовательский маршрут, который я создаю.
Когда я удалил Route::resource
, работал Route::get('dashboard/users', '[email protected]');
, так может быть ошибка? или что-то, что я забыл настроить?
Edit 2
Когда я попытался
Route::get('dashboard/users', '[email protected]');
я удалил
Route::resource('/dashboard/users', 'DashboardUsersController');
, чтобы убедиться, что это не конфликт, и до сих пор не работал
Использование 'php artisan route: list' для проверки маршрутов, которые вы определяете. – Jonathan
Что произойдет, если вы измените порядок так, чтобы« Route :: resource ('/ dashboard', 'DashboardController'); находится внизу? – joshhunt
Я отредактировал свой ответ, где объясню, что происходит, когда вы используете Route :: resource, чтобы мой ответ был завершен. Надеюсь, это поможет. – Michal