【问题标题】:how to return redirect to route with slug如何使用 slug 将重定向返回到路由
【发布时间】:2016-07-28 00:18:00
【问题描述】:

我想重定向到我的线程显示,但有一些错误和缺失
这是我的路线

Route::get('forum/{forumthread}', [
    'uses'  =>  'ForumController@show',
    'as'    =>  'forum.show'
    ]);

Route::get('forum/{forumthread}/create', [
    'uses'  =>  'ForumController@indexcreate',
    'as'    =>  'forum.index.create'
    ]);

这是我的控制器

public function indexcreate($slug){

    $forum = forumthread::where('slug', $slug)->first();

    return view('forum.index.indexcreate', compact('forum'));

}



public function indexstore(Request $request, $slug){

    $forumindex = new forumindex;
    $forumindex->title = $request->title;
    $forumindex->body = $request->body;
    $forumindex->slug = EasySlug::generateSlug($forumindex->title, $separator = '-');
    $forumindex->user_id = Auth::user()->id;
    $forumindex->save();

    return redirect()->route('forum.show', $forum->slug);

}

帮帮我,谢谢

【问题讨论】:

    标签: php redirect routes laravel-5.2


    【解决方案1】:

    您是否尝试将 route() 函数的第二个参数包装在数组中?

    return redirect()->route('forum.show', ['slug' => $forum->slug]);
    

    Laravel's documentation 是这样说的:

    如果你的路由有参数,你可以将它们作为第二个参数传递 到路由方法:

    // 对于具有以下 URI 的路由:profile/{id}

    return redirect()->route('profile', ['id' => 1]);

    【讨论】:

    • 仍然出现错误缺少 App\Http\Controllers\ForumController::indexstore() 的参数 2
    【解决方案2】:

    试试这个

    return redirect()->action('ForumController@show', array('slug'=>$forum->slug));
    

    【讨论】:

      猜你喜欢
      • 2018-09-01
      • 1970-01-01
      • 2017-06-02
      • 2017-05-14
      • 1970-01-01
      • 2019-09-04
      • 2011-07-03
      • 2015-02-26
      • 2017-04-24
      相关资源
      最近更新 更多