Laravel возвращает класс вместо экземпляра?
Помогите, пожалуйста, разобраться с ORM в Laravel. Есть две модели: Post и Item, два контроллера PostController и ItemController. PostController - ресурсный. ItemController - обычный. Однако мне нужно реализовать дополнительный метод для маршрута типа /posts/{post}/custom Как я понимаю, просто так написать ещё один метод в ресурсном контроллере не выйдет, он просто не будет обрабатываться (даже если прописать маршрут Route::get('posts/{post}/custom,[PostController::class,'custom']) выше Route::resource('posts',PostController::class) ) Поэтому я сделал новый тестовый контроллер TestController и прописал такой маршрут Route::get('posts/{id}/custom',[TestController::class,'custom']) В этом контроллере я могу получить доступ к экземпляру Post таким способом
public function custom(Post $post)
{
$post = Post::find($post)->first();
dd($post);
}
Однако в методе ресурсного контроллера достаточно просто вернуть $post:
public function show(Post $post)
{
dd($post);
}
В первом же случае если вернуть просто переменную $post, то вернётся класс, а не экземпляр. Я только изучаю Laravel, поэтому подразумеваю, что это связано с тем, что я создал ресурсный контроллер. Так как для контроллера ItemController (который не ресурсный) я сделал такой же метод custom, как и для TestController, и он вернул экземпляр, как мне и нужно. Пробовал комментировать ресурсный маршрут для posts, пробовал вообще удалять контроллер PostControllers - ничего не меняется. Возможно, Laravel где-то ещё прописывает специальные правила, как я создаю ресурсный контроллер? Заранее спасибо.