Laravel правильный слизняк - PullRequest
0 голосов
/ 06 мая 2018

У меня есть URL: http://example.com/product/123123/slug-this-can-be

Я хочу разблокировать функцию, когда пользователь изменяет слаг, и, если продукт слизняка не корректен, то автоматически правильно изменить этот слаг в адресной строке.

У меня есть:

  public function show($id, $alias) {
    $product = Product::findOrFail($id);
    if($alias != $product->alias)
        request()->get('alias') = $product->alias;

    return view('pages.product', compact('product'));
  }

alias = слизняк

Маршрут:

Route::get('/product/{id}/{alias}', 'Product\ProductController@show')->name('showproduct');

Мое состояние не работает. Как я могу выпустить это?

Ответы [ 2 ]

0 голосов
/ 06 мая 2018

Возможно, вы захотите использовать метод str_slug()? очень легко создать слизняка с этим помощником в laravel

public function show($id, $alias) {
  $product = Product::findOrFail($id);
      if($alias != $product->alias)
        $product->alias = str_slug(request()->get('alias')) ;

    return view('pages.product', compact('product'));
}
0 голосов
/ 06 мая 2018

В вашем состоянии вы должны перенаправить на правильный URL-адрес, как показано ниже

if($alias != $product->alias){
  $url = '/product/'.$id.'/'.$product->alias;
  return redirect($url);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...