In this section we will see how to create slug in laravel 9.
1. Create Slug using Illuminate\Support\Str helper;
public function store(Request $request)
{
$request->validate([
'name' => 'required|string|max:255',
'slug' => 'required|string|max:255',
]);
Category::create([
'name' => $request->name,
'slug' => \Str::slug($request->slug)
]);
return redirect()->route('categories.index');
}
2. Create direct slug in name place. using 'slug' => \Str::slug($request->name);
public function store(Request $request)
{
$request->validate([
'name' => 'required|string|max:255',
]);
Category::create([
'name' => $request->name,
'slug' => \Str::slug($request->name)
]);
return redirect()->route('categories.index');
}
3. You can create slug using str()->slug('laravel 9') helper method. laravel 9 support str(), so you do not need to import any class you can access str() anywhere.
public function store(Request $request)
{
$request->validate([
'name' => 'required|string|max:255',
'slug' => 'required|string|max:255',
]);
Category::create([
'name' => $request->name,
'slug' => str()->slug($request->slug)
]);
return redirect()->route('categories.index');
}