Я создаю URL-адрес в моем приложении, но он не работает, приложение дает мне некоторые проблемы, связанные с «-». Это дает мне ошибку:URL-адрес в маршрутах
ErrorException in PostController.php line 60:
Trying to get property of non-object
Мой идеальный URL является:
http://domain.com/CATEGORY-title-of-post-ID
Мой маршрут:
Route::get('{category}-{title}-{id}', '[email protected]');
PostController шоу функция:
public function show($category,$title,$id)
{
$post = Post::find($id);
$user = Auth::user();
$comments = Comment::where('post_id',$id)
->where('approved',1)
->get();
return view('posts.show',compact('post','comments','user'));
}
клинка Посмотреть:
<?php
$title_seo = str_slug($feature->title, '-');
?>
<a href="{{url($feature->categories[0]->internal_name."-".$title_seo."-".$feature->id)}}" rel="bookmark">
...</a>
Привет спасибо за ответ, я просто реализовать, и уже спасительный его в моей базе данных, но у меня есть один вопрос, как я бы структурировать ее в моем пути? Это все еще дает мне ошибку. – Pedro
Есть ли причина, по которой вам нужно использовать '{category} - {title} - {id}'? Я думаю, что, потому что вы разделяете каждую черту, а sluggable использует тире тоже, она не уверена, когда ваша категория заканчивается и начинается название. Если вы используете 'title', как в примере по умолчанию, вы можете передать его вашему контроллеру и сделать' Posts :: where ('slug', $ slug) -> first(); '. Если вы все еще хотите использовать категорию, лучше всего разделить слэш ('/') и отразить это на вашем маршруте – TimothyBuktu