I'm doing a project in laravel and I want to have two show functions in the controller, that is.
In first I have the list of categories that gives an id to each element, then I enter the http://localhost:8000/item/4
element having this url, but that element has two buttons that will give the same view of the element adding functionality.
that is, I have this view
and I want to get to this
My question is how do I get to the second view?
I have a resource controller and this is your code
class ExercisesController extends Controller
{
public function index()
{
if( Auth::check() ){
$exercises = Exercise::where('user_id', Auth::user()->id)->get();
return view('exercises.index', ['exercises'=> $exercises]);
}
return view('auth.login');
}
public function create( $category_id = null )
{
$categories = null;
if(!$category_id){
$categories = Category::where('user_id', Auth::user()->id)->get();
}
return view('exercises.create',['category_id'=>$category_id, 'categries'=>$categories]);
}
public function store(Request $request)
{
if(Auth::check()){
$exercise = Exercise::create([
'name' => $request->input('name'),
'description' => $request->input('description'),
'category_id' => $request->input('category_id'),
'user_id' => Auth::user()->id
]);
if($exercise){
return redirect()->route('exercises.show', ['exercises'=> $exercise->id])
->with('success' , 'You have an other one');
}
}
return back()->withInput()->with('errors', 'Error creating new pet');
}
public function show(Exercise $exercise)
{
$exercise = Exercise::find($exercise->id);
return view('exercises.show', compact('exercise'));
}
public function edit(Exercise $exercise)
{
$exercise = Exercise::find($exercise->id);
return view('exercises.edit', ['exercise'=>$exercise]);
}
public function update(Request $request, exercise $exercise)
{
$exerciseUpdate = Exercise::where('id', $exercise->id)
->update([
'name'=> $request->input('name'),
'description'=> $request->input('description')
]);
if($exerciseUpdate){
return redirect()->route('exercises.show', ['exercise'=> $exercise->id])
->with('success' , 'An other exercise');
}
return back()->withInput();
}
public function destroy(Exercise $exercise)
{
$findexercise = Exercise::find( $exercise->id);
if($findexercise->delete()){
return redirect()->route('exercises.index')
->with('success' , 'It is gone');
}
return back()->withInput()->with('error' , 'something happend');
}
public function search(Request $req)
{
$exercises= Exercise::all();
return view ('search', compact ('exercises'));
}
public function getSearch (Request $req)
{
if($req->ajax())
{
$find= Exercise::where('name', 'LIKE','%' .$req->search. '%' )->get();
return response()->json($find);
}
}
public function details(Exercise $exercise)
{
$exercise = Exercise::find($exercise->id);
return view('exercises.go', compact('exercise'));
}
}
I have a confusion with the routes because I do not know how to get to the details.