Simplify Laravel CRUD Controllers
Reusing the same form for create and update
The Controller
<?php
namespace App\Http\Controllers;
use App\Http\Requests\TemplateForm;
use App\Template;
use Illuminate\Http\Request;
class TemplateController extends Controller
{
public function create()
{
return $this->edit(new Template());
}
public function store(TemplateForm $request)
{
return $this->update($request, new Template());
}
public function edit(Template $template)
{
return view('template.edit')->withTemplate($template);
}
public function update(TemplateForm $request, Template $template)
{
$request->persist($template);
return redirect(route('templates.index'));
}
}Sharing the form
Form Request
Conclusion
Last updated