如何设计Laravel控制器? 示例:客户/分支机构/管理员订单

Only one Model: Order, which is best way to maintain and access control for Customer/Branch/Admin ?

Method 1:

UserController@order   
BranchController@order   
AdminController@order

Method 2:

OrderController@User   
OrderController@Branch   
OrderController@Admin

Method 3:

Route('user/order')    
Route('user/order/1')    
OrderController@User    
OrderController@UserStore    
OrderController@UserUpdate   

Route('branch/order')    
Route('branch/order/1')    
OrderController@Branch    
OrderController@BranchStore    
OrderController@BranchUpdate   

Route('admin/order')    
Route('admin/order/1/store')    
AdminController@Order    
AdminController@OrderStore    
AdminController@OrderUpdate   

Which is your choice and any thing to improve? This is my first Laravel Project. Thanks!

example from https://github.com/andrewelkins/Laravel-4-Bootstrap-Starter-Site

This is my final adoption of the plan:

// /admin/topics/*
// app/Controllers/admin/AdminTopicsController.php

Route::group(['prefix'=>'admin'], function() 
{

    Route::resource('topics', 'AdminTopicsController');
});

// /topics/*
// app/Controllers/branch/BranchTopicsController.php

Route::group(['prefix'=>'branch'], function() 
{

    Route::resource('topics', 'BranchTopicsController');
});