我有2个控制器。一个管理类别和其他滑块。他们之间没有任何关系。它们位于不同部分的同一主页上。所以我想显示数据库中的类别和滑块值。
我试过
Route::get('/', ['uses'=>'SliderController@homepage','as'=>'homepage']);
Route::get('/', ['uses'=>'CategoryController@homepage','as'=>'categoryHomepage']);
如果我这样做,第二个就会覆盖第一个。
我是否有办法通过这两条路线,以便在主页上使用这两个值。
谢谢!
答案 0 :(得分:0)
您是否尝试过dependency injection。
1单行
Route::get('/home', ['uses'=>'SliderController@index','as'=>'homepage']);
2创建数据传递控制器
use View;
class SliderController extends Controller {
private $repository;
public function __construct(DataRepository $repository)
{
$this->repository = $repository;
}
public function index(DataRepository $repository)
{
return View::make('home.index')->with('data', $this-repository->getData());
}
}
3 DataRepository
类获取记录
class DataRepository {
public getData()
{
$data = array();
$data['category'] = Category::all();
$data['slider'] = Slider::all();
return $data;
}
}
完成上述三个步骤后,DataRepository将自动将数据注入您的控制器。参考来自here。