Skip to content

Instantly share code, notes, and snippets.

@nissicreative
Last active February 28, 2019 10:43
Show Gist options
  • Save nissicreative/e57e72039561137bc643a5a162084a7a to your computer and use it in GitHub Desktop.
Save nissicreative/e57e72039561137bc643a5a162084a7a to your computer and use it in GitHub Desktop.
Laravel Resourceful Controller Stub
<?php
// This is a stub for a "resourceful" controller
// Find & replace the following, then delete these comments!
//
// `MyModel` = name of model
// `MyController` = name of class
// `directory` = name of resource route: i.e. 'admin.users'
// `$collection` = variable identifying a collection: i.e. 'users' or 'categories'
// `$resource` = variable identifying a single resource: i.e. 'user' or 'post'
namespace App\Http\Controllers;
use App\MyModel;
use Laracasts\Flash\Flash;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Redirect;
class MyController extends Controller
{
/**
* Display a listing of the resources.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$collection = MyModel::paginate(20);
dd($collection);
return view('directory.index', compact('collection'));
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
$resource = new MyModel();
return view('directory.create', compact('resource'));
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
dd($request->all());
$this->validate($request, []);
$resource = new MyModel();
$data = $request->all();
$resource->fill($data);
$resource->save();
Flash::success('The resource was created!');
return Redirect::route('directory.index');
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
$resource = MyModel::findOrFail($id);
dd($resource);
return view('directory.show', compact('resource'));
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
$resource = MyModel::findOrFail($id);
dd($resource);
return view('directory.edit', compact('resource'));
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
dd($request->all());
$this->validate($request, []);
$resource = MyModel::findOrFail($id);
$data = $request->all();
$resource->fill($data);
$resource->save();
Flash::success('The resource has been updated.');
return Redirect::route('directory.index');
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
$resource = MyModel::findOrFail($id);
dd($resource);
$resource->delete();
Flash::success('The resource has been deleted!');
return Redirect::route('directory.index');
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment