我正在使用laravel 5.4并且有一件事我无法理解。我使用make:controller(name)-resource来创建一个带索引/ show / create / edit / update / destroy的控制器。我正在制作的应用程序主要是CRUD操作。我的问题是:
对于需要CRUD操作的数据库的每个实体,我必须有一个单独的控制器吗?例如,我有2个实体:项目,服务。我必须有2个控制器,或者它们可以在同一个控制器上,如:
public function store_item(Request $request) {
**Insert Query**
}
public function store_service(Request $request) {
**Insert Query**
}
这样做的正确方法是什么?
答案 0 :(得分:2)
它们可以位于同一个控制器中,但是当涉及到Laravel时,为项目,服务或任何CRUD操作创建不同的控制器是一种很好的做法。
您可以只想为项目和服务创建一个控制器,您必须使用store_item
和store_service
这样的函数,并且必须使用每条路线调用它们Route::post('items','YourController@store_item');
和服务类似。
但是如果为Items
和Services
创建单独的控制器,则不必为每个任务或操作创建路由。你可以在你的路线文件中注册资源路线,你就可以了!
例如,如果要为项目和服务创建单独的控制器,您只需在路径文件中写下这两行,就可以了!“
Route::resource('items', 'ItemsController');
Route::resource('services', 'ServicesController');
因此,为CRUD操作创建控制器是很好的,因为它在Laravel中使东西变得干净利落。如果您有任何疑问,请与我们联系!