首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel路线[XXX.XXX]未定义

Laravel路线[XXX.XXX]未定义
EN

Stack Overflow用户
提问于 2018-04-01 21:02:17
回答 1查看 1.7K关注 0票数 0

我在访问控制器的功能时遇到了问题,只有Controller.index工作,所有其他的功能都不能工作。

路由

代码语言:javascript
复制
Route::get('Publications/datatables', 'publicationController@datatables')->name('Publications-datatables');
Route::resource('publications', 'publicationController');

控制器

代码语言:javascript
复制
<?php

namespace App\Http\Controllers;

use App\Http\Requests;
use App\Publication;
use DataTables;
use Illuminate\Http\Request;

class publicationController extends Controller
{
    public function index()
    {
        $publications = Publication::get();

        return view('Publications.index', compact('publications'));
    }

    public function create(Request $request)
    {
        return view('Publications.create');
    }

    public function store(Request $request)
    {
        $publication = Publication::create($request->all());

        return redirect()->route('Publications.show', $publication->id)->with('success', trans('og.alert.success'));
    }

    public function show(Publication $publication)
    {
        return view('Publications.show', compact('publication'));
    }

    public function edit(Publication $publication)
    {
        return view('Publications.edit', compact('publication'));
    }

    public function update(Request $request, $id)
    {
        $data = $request->all();
        $publication = Publication::find($id);
        $publication->update($data);

        return redirect()->route('Publications.show', $publication->id)->with('success', trans('og.alert.success'));
    }

    public function destroy($id, Request $request)
    {
        if ($publication = Publication::find($id)) {
            $wasDeleted = $publication->delete();
        }

        return redirect()->route('Publications.index')->with('success', trans('og.alert.success'));
    }

    public function datatables()
    {
        $Publications = Publication::all();

        return Datatables::of($Publications)
            ->editColumn('id', '<a href="{{route(\'Publications.show\', ["id" => $id])}}">{{$id}}</a>')
            ->addColumn('actions',
                '<a class="btn btn-primary btn-xs" href="{{route(\'Publications.edit\', $id)}}" data-placement="top" data-toggle="tooltip" title="' . trans('og.button.tooltip.edit') . '" data-title="' . trans('og.button.tooltip.edit') . '" ><span class="glyphicon glyphicon-pencil"></span></a>
               <form style="display:inline" action="{{route(\'Publications.destroy\', $id)}}" method="POST"><input type="hidden" name="_token" value="{{csrf_token()}}"><input type="hidden" name="_method" value="DELETE" ><span data-placement="top" data-toggle="tooltip" title="' . trans('og.button.tooltip.delete') . '"><button class="btn btn-danger btn-xs" type="submit"  onclick="return confirm(\'' . trans('og.alert.confirm_deletion') . '\')" ><span class="glyphicon glyphicon-trash"></button></span></a></form>')
            ->rawColumns(['id', 'actions'])
            ->make(true);
    }
}
EN

回答 1

Stack Overflow用户

发布于 2018-04-01 21:31:52

你试过php artisan route:list来验证你的路线了吗?如果不是,这就是您的示例生成的内容:

代码语言:javascript
复制
| GET|HEAD  | Publications/datatables         | Publications-datatables | App\Http\Controllers\publicationController@datatables                  | web        |
| GET|HEAD  | publications                    | publications.index      | App\Http\Controllers\publicationController@index                       | web        |
| POST      | publications                    | publications.store      | App\Http\Controllers\publicationController@store                       | web        |
| GET|HEAD  | publications/create             | publications.create     | App\Http\Controllers\publicationController@create                      | web        |
| PUT|PATCH | publications/{publication}      | publications.update     | App\Http\Controllers\publicationController@update                      | web        |
| DELETE    | publications/{publication}      | publications.destroy    | App\Http\Controllers\publicationController@destroy                     | web        |
| GET|HEAD  | publications/{publication}      | publications.show       | App\Http\Controllers\publicationController@show                        | web        |
| GET|HEAD  | publications/{publication}/edit | publications.edit       | App\Http\Controllers\publicationController@edit                        | web        |

路线是区分大小写的。也许你应该使用大写的‘P’,如果这是你想要做的。

代码语言:javascript
复制
Route::resource('Publications', 'publicationController');
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49602583

复制
相关文章

相似问题

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