首页 > 解决方案 > Laravel 5.5,索引的默认路由不适用于资源控制器

问题描述

我有一个名为 CmsPagesController 的资源控制器,

class CmsPagesController extends Controller
{
/**
 * Display a listing of the resource.
 *
 * @return \Illuminate\Http\Response
 */
public function index()
{
    return 'something';
    // $pages=CmsPages::all();        
    // return view('backend.pages.cms.list')->with('pages',$pages);
}

public function list(){
    return '123';
}
/**
 * Show the form for creating a new resource.
 *
 * @return \Illuminate\Http\Response
 */
public function create()
{
    return view('backend.pages.cms.add');
}

/**
 * Store a newly created resource in storage.
 *
 * @param  \Illuminate\Http\Request  $request
 * @return \Illuminate\Http\Response
 */
public function store(Request $request)
{
    $this->validate($request, [
        'name'      =>      'required',
        'slug'      =>  'required',
        'description'=> 'required'            
    ]);

    $Page=new CmsPages;
    $Page->name= $request->input('name');
    $Page->slug= $request->input('slug');
    $Page->description= $request->input('description');
    $Page->copyright= $request->input('copyright');
    $Page->keywords= $request->input('keywords');


    $Page->save();

    return redirect('/admin/pages')->with('success','Page Added Successfully');
}

/**
 * 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)
{
    //
}

/**
 * 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)
{
    //
}
}

我的添加功能和存储功能运行良好,我可以渲染添加页面并可以将数据存储到数据库,但我的索引功能不起作用,我放置了一个示例返回语句,但也没有执行。我错过了什么

以下是我的路线

 Route::resource('pages','CmsPagesController');

标签: laravellaravel-5

解决方案


我面临同样的问题,即索引函数没有返回任何内容,甚至没有任何错误。

我有一个 UsersController 作为资源。

路线为:

Route::resource('users', 'UsersController');

当您尝试点击以下网址时

...公共/用户/索引

它不会返回任何东西。

当我尝试时它对我有用

...公众/用户

索引函数被自动调用。您不必在 url 中写 /index。


推荐阅读