你不能那樣做,因爲這不是一件好事,而且Laravel不要讓你有相同的路徑來打兩個不同的控制器動作,除非你使用不同的HTTP方法(POST,GET)。 ..)。控制器是一個HTTP請求處理程序,而不是一個服務類,所以你可能將不得不稍微改變你的設計,這是一種方法:
如果你要在一個頁面中顯示所有數據,創建一個單個路由器:
Route::get('/career', '[email protected]');
創建一個瘦小的控制器,只得到信息並傳遞給你的觀點:
use View;
class CareerController extends Controller {
private $repository;
public function __construct(DataRepository $repository)
{
$this->repository = $repository;
}
public function index(DataRepository $repository)
{
return View::make('career.index')->with('data', $this-repository->getData());
}
}
,並創建一個DataRepository類,負責瞭解如何在需要的情況下做那種數據:
class DataRepository {
public getData()
{
$data = array();
$data['accountant'] = Accountant::all();
$data['schools'] = School::all();
return $data;
}
}
請注意,該存儲庫正在自動注入到您的控制器中,Laravel會爲您執行此操作。
依賴注入最好的例子之一,我見過。 – Sina 2016-10-17 04:52:56