2014-04-06 118 views
0

我以非常接近Chris Fidao在​​3210書上使用的方式使用存儲庫模式。基本上我有具體的存儲庫類實現其接口,並獲得注入模型。將存儲庫綁定到路由

現在我想利用Laravel的路由綁定。由於我使用的是存儲庫,因此我無法直接將它們綁定到模型上......對嗎?但是我沒有這樣做。

我使用一個服務提供商綁定我的具體資料庫,以接口,這樣的:

$app->bind('App\Repositories\UserInterface', function ($app) { 
     return new EloquentUser(new User); 
    }); 

如何將我的路由上綁定庫接口?似乎是微不足道的,但我有點失落...

謝謝你提前! :)

+0

爲什麼要將路由綁定到回購?路由應該指向一個請求處理程序(或多或少的一個服務)而不是一個其目的是將業務與持久性分離的存儲庫 – MikeSW

+0

您是否找到了解決方案? – Victor

回答

1

你可以用不同的方法來傳遞模型的形式沒有模型結合的路線,例如,假設你有使用UserController的路線,這是控制器:

class UserController extends BaseController { 
    public function __construct(UserInterface $UserRepo) 
    { 
     $this->repo = $UserRepo; 
    } 

    public function edit($id) 
    { 
     $user = $this->user->find($id); 
     return View::make('user.edit')->with('user', $user); 
    } 
} 

您在user.edit視圖形式:

{{ Form::model($user, array('route' => array('user.update', $user->id))) }} 
0

您可以使用您的路線回購方式如下。但是,你真的需要這個嗎?

\\the repo is in the Branches folder 
use App\Repos\Branches\BranchRepository; 

Route::get('branches',function(BranchRepository $branchRepo){ 
    \\using a method of your repo - in this case using getData() method 
    return $branchRepo->getData(); 
});