我正在尝试用Laravel实现一个向导。
假设我们有三个模型:post
,contact
和place
,它们的关系如下:
post <> contact
:多对一post <> place
:多对一现在路由(对于向导)看起来像这样:
/wizard
:存储新的post
/wizard/{post}/contact
:存储新联系人并设置关系/wizard/{post}/place
:存储新地点并设置关系应该能够独立于向导更新这些模型中的每一个,因此我们将为每个模型及其相应的路径(例如/post/{post}/edit
)设置资源控制器。
我是否有一个单独的向导控制器?如果是这样,该控制器是否会实现所有方法create
,store
,update
等,即使我们已经在特定模型的每个控制器中实现了它们?
我更倾向于重定向到特定的模型控制器,但我认为那时我不得不捣乱。会话变量,用于检查是在向导中编辑模型还是“独立”。
答案 0 :(得分:0)
我通过以下方式解决了我的问题:
使用contact
phone
等路线访问与其他模型相关的模型(例如post
和/{post}/comment/...
,两者都与...
相关) 1}}对应于CRUD操作。
每个模型完成它应该做的工作但是将始终重定向到另一个控制器(让我们称之为WizardController
),它将路由到下一个控制器。它如何知道下一个是哪一个?在我的情况下,我检查是否已设置变量/引用(或null
)并采取适当的措施。