我正在实施一个小项目来维护一系列书籍。我使用的是PHP 7,Laravel 5.5,Eloquent和SQLite。
我创建了一个Model类book
和相应的资源控制器BookController
。为简单起见,一本书只有公共属性:标题和作者。
此外,我创建了一个AdminController
来创建管理页面。我想使用此页面将书籍添加到数据库并删除其他书籍。
我的BookController
有一个store()函数:
public function store(Request $request)
{
// Validate the request...
$book = new Book;
$book->title = $request->title;
$book->author = $request->author;
$book->save();
}
我的AdminController
有一个HTML表单,其中包含新书的输入字段(一个用于标题,一个用于作者)以及一个提交按钮。此按钮调用AdminController@post
。
现在我想知道如何从那里实际添加这本书。
我应该从BookController
拨打AdminController
并将请求对象传递给BookController
吗?这是控制器在Laravel进行通信的方式吗?或者我应该避免使用store
功能并直接向AdminController
添加功能吗?
答案 0 :(得分:0)
Book
模型并使用它。BookController
,只需要为一个控制器定义两个路由,并在store方法中写一些逻辑,我的观点......这不是好方法。因为需要检查一些变量以检测来自管理员和来自用户的请求。我不想在用户和工作流程之间做一些复杂的事情。管理员。