从 URL 中检索 Slug 以实现功能 (Laravel 5)

Retrieving the Slug from URL for function (Laravel 5)

我正在制作一个由用户创建群组的应用程序。此用户可以转到组页面(为组创建自动唯一 slug)。

我的目标是让创建群组的成员能够为该特定群组制作邀请码。

目前代码生成器被硬编码为 id=8 的组创建一个。

代码如下:

public function createInviteCode()
    {
        $group = Group::find(8); // Group ID you want to manage
        $code = Invite::generateCode();
        $invite = $group->invites()->create([
            'code' => $code,
            'expires_at' => Carbon::now()->addDays(7) // invite expires in 7 days
        ]);

        return redirect()->back();
    } 

代码是通过我 showgroup.blade.php:

上的提交按钮生成的
{!! Form::open(['route' => 'invite.create']) !!}
{!! Form::submit('Generate invite code', ['class' =>  'btn btn-primary']) !!}
{!! Form::close() !!}

我想做的是检索我正在冲浪的 slug,以显示此组:

检索 slug 的函数:

public function search()
{
    $group = Group::whereSlug($slug)->first();

    return view('pages.groups.showgroup')->withSlug($group);
}

这些也是我的 Routes.php:

$router->post('invites', ['as' => 'invite.create', 'uses' => 'GroupController@createInviteCode']);
$router->get('group/{slug}', ['as' => 'group.search', 'uses' => 'GroupController@search']);

小回顾一下: 目前我只是为 ID=8 的群组创建一个邀请码。 我想做的是更改我的功能,以便它为我正在冲浪的群组创建一个邀请代码(也就是通过 slug)

我该如何准确编码?

已修复:

路线:

$router->post('invites/{slug}', ['as' => 'invite.create', 'uses' => 'GroupController@createInviteCode']);

我的表格:

{!! Form::open(['route' => ['invite.create', $group->slug]]) !!}
{!! Form::submit('Generate invite code', ['class' =>  'btn btn-primary']) !!}
{!! Form::close() !!}

函数:

public function createInviteCode($slug)
{
    $group = Group::where('slug', $slug)->firstOrFail();

    // ...
}