从URL中检索Slug for function(Laravel 5)

时间:2015-06-16 02:04:52

标签: php eloquent laravel-5 blade slug

我正在创建一个用户创建组的应用程序。该用户可以转到组页面(为组创建自动化的唯一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() !!}

我想要做的是找回我冲浪的slu ,,展示这个群体:

检索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)

我如何准确编码?

1 个答案:

答案 0 :(得分:1)

修正了它:

路线:

$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();

    // ...
}