我可以通过路由发送 slug 吗?

Can i send a slug through a route?

在 Laravel 5 中,我们可以将 slug 发送到 urls,像这样:

@foreach($records as $record)
    <div class="btn-group-sm"> 
        <a href="{{ url('business/'.$record->id.'/edit') }}" class="btn btn-warning"><i class="fa fa-edit"></i></a >
    </div>
@endforeach

会不会是这样:

@foreach($records as $record)
    <div class="btn-group-sm"> 
        <a href="{{ route('businessEdit', $record->id) }}" class="btn btn-warning"><i class="fa fa-edit"></i></a >
    </div>
@endforeach

路线如下:

Route::get('/business/{id}/edit', [
        'as' => 'businessEdit',
        'uses' => 'BusinessCtrl@edit'
    ]);

编辑 1

使用 url 方式我可以发送参数并且地址看起来像 domain.tld/business/4/edit 但是当使用路由时它看起来像 domain.tld/business?4 并且它不起作用。

这是 BusinessCtrl 处的编辑功能:

    public function edit($id)
    {

        $record = Business::find($id);

        return view('Center.business.edit')->with('record', $record);

    }

路由助手接受一个数组作为第二个参数,因此您需要这样做:

{{ route('businessEdit', [$record->id]) }}