首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在laravel路由中找不到页面错误

在laravel路由中找不到页面错误
EN

Stack Overflow用户
提问于 2018-08-07 15:31:38
回答 1查看 311关注 0票数 0

我是laravel的新手,我写了一条路线

代码语言:javascript
运行
复制
Route::resource('contract', 'ContractController');
Route::group(['prefix' => 'contract'], function () {
    Route::get('data', 'ContractController@data');
});

我的控制器文件是:

代码语言:javascript
运行
复制
public function data(Datatables $datatables)
{
    $contracts = $this->contractRepository->getAll()
        ->get()
        ->map(function ($contract) {
            return [
                'id' => $contract->id,
                'start_date' => $contract->start_date,
                'end_date' => $contract->end_date,
                'description' => $contract->description,
                'name' =>  '',
                'user' => '',
            ];
        });

    return $datatables->collection($contracts)
        ->addColumn('actions', '@if(Sentinel::getUser()->hasAccess([\'contracts.write\']) || Sentinel::inRole(\'admin\'))
                                    <a href="{{ url(\'contract/\' . $id . \'/edit\' ) }}"  title="{{ trans(\'table.edit\') }}">
                                        <i class="fa fa-fw fa-pencil text-warning"></i> </a>
                                        @endif
                                 @if(Sentinel::getUser()->hasAccess([\'contracts.read\']) || Sentinel::inRole(\'admin\'))
                                 <a href="{{ url(\'contract/\' . $id . \'/show\' ) }}" title="{{ trans(\'table.details\') }}" >
                                        <i class="fa fa-fw fa-eye text-primary"></i> </a>
                                @endif
                                @if(Sentinel::getUser()->hasAccess([\'contracts.delete\']) || Sentinel::inRole(\'admin\'))
                                    <a href="{{ url(\'contract/\' . $id . \'/delete\' ) }}"  title="{{ trans(\'table.delete\') }}">
                                        <i class="fa fa-fw fa-times text-danger"></i></a>
                                 @endif')
        ->removeColumn('id')
        ->escapeColumns( [ 'actions' ] )->make();
}

当我使用url contract/data运行时,我会得到404 not found错误。在控制台,我也会出错。

代码语言:javascript
运行
复制
No query results for model [App\Models\Contract].

请帮我解决这个问题

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-07 15:39:23

只需删除Route::resource('contract', 'ContractController');或将其放在Route::group(['prefix' => 'contract'], function () { Route::get('data', 'ContractController@data'); });之后,如下所示:

代码语言:javascript
运行
复制
Route::group(['prefix' => 'contract'], function () {
    Route::get('data', 'ContractController@data');
});
Route::resource('contract', 'ContractController');

您在路由/contract/data上得到404,因为路由器实际上是从Route::resource('contract', 'ContractController');上的上一条路由定向到ContractController@show中的ContractController@show中的

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51730503

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档