Я установил конечную точку json в Laravel 5.6, я хочу использовать поле, отличное от идентификатора, например slug, например. '/ категории / мой-слизняк'. По умолчанию используется идентификатор, например / категории / 1
Маршрут
Route::resource('categories', 'CategoryController')->middleware('cors');
CategoryController
public function show(Category $category)
{
CategoryResource::withoutWrapping();
return new CategoryResource($category);
}
Категория Ресурс
public function toArray($request)
{
return [
'type' => 'categories',
'id' => (string)$this->id,
'attributes' => [
'title' => $this->title,
'description' => $this->description,
'status' => $this->status,
'slug' => $this->slug,
]
];
}






В вашей модели Категория добавьте это:
public function getRouteKeyName()
{
return 'slug';
}
Это заставит привязку модели маршрута работать со слагом категории вместо идентификатора. Подробнее читайте здесь https://laravel.com/docs/5.6/routing#route-model-binding
вы пытаетесь использовать вспомогательную функцию laravel
slug? Я не уверен, что понимаю вашу проблему