正如其他人提到的,您不需要專門爲每個模型設置控制器。但是,鑑於您的Facebook示例,it's quite simply done through relationships。
過於簡單化是:
用戶模型來保存用戶的賬戶信息和關係
class User extends Eloquent {
public function posts() {
return $this->hasMany('posts', 'from_user_id');
}
}
一個Post模型保存的內容和從/向用戶關係
class Post extends Eloquent {
public function from() {
return $this->belongsTo('user', 'from_user_id');
}
public function to() {
return $this->belongsTo('user', 'to_user_id');
}
}
那麼也許你會有UserController像這樣加載一個視圖:
class UserController extends BaseController {
public function index($id) {
$user = User::find($id);
return View::make('user_page', array(
'user' => $user,
'posts' => $user->posts()->with('to')->get()
));
}
}
您不需要每個型號的控制器。控制器實現將路由映射到哪些方法,並在模型內處理所有邏輯。您可以擁有簡單表示表/模型關係的模型。你的問題也是廣泛的。您可以使用某個佈局管理器來處理由適當的視圖類進行的渲染,該佈局管理器將標記所有4個框架。您可以讓控制器渲染擴展布局視圖的部分視圖。 –