我试图使一个索引页,但无论出于何种原因,它没有显示任何东西。这是我的路线
Route::get('/home', 'HomeController@index')->name('home');
Route::resource('student','StudentsController');
Route::resource('student/absense','AbsensesController');
正如你所看到的,我正在使用资源,所以我的路由已经生成了。
这是我的控制器
public function index()
{
return view('student.absense.index');
}
/**
我的观点是这样的:
@extends('layouts.app')
@section('content')
<table class="table ">
<thead>
<tr>
<th scope="col">#</th>
<th scope="col">Prenome</th>
<th scope="col">Nom</th>
<th scope="col">Niveau</th>
<th scope="col">group</th>
<th scope="col">Payment date End</th>
<th scope="col"> More options</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row"></th>
</tr>
</tbody>
</table>
@endsection
这是我进入cmd的路线:
| | GET|HEAD | student/absense | absense.index | App\Http\Controllers\AbsensesController@index
我得到的页面是空的,没有任何错误。知道为什么吗
顺便说一句,索引是在absense文件夹内,absense文件夹是在学生文件夹内。
2条答案
按热度按时间k75qkfdt1#
与路由的顺序存在冲突:
您正在添加
资源添加以下show route:
那你是在加
资源添加以下索引路由:
但是由于
student
路由在student/absense
路由之前,因此您永远不会访问索引路由,而是访问student/{student}
,因为{student}
通配符捕获student/absense
并进入StudentController@show
路由。切换路由定义应该可以解决以下问题:
或者你可以添加一个连字符,这样你就不会遇到冲突:
nlejzf6q2#
以下声明:
您正在尝试在absense文件夹中加载一个名为test的文件,但在这里:
你说你在那个文件夹里有一个名为index的文件,而不是test。我想这就是为什么你得不到你想要的。
将absense文件夹中的索引文件重命名为test或将您在index函数中声明的测试文件从test重命名为index。