在Laravel中处理多步骤表格

时间:2018-09-18 11:25:39

标签: php ajax database laravel forms

我对laravel还是很陌生,我必须在数据库中插入许多表单字段,因此我将这些字段分为多个部分,我要实现的是在用户单击下一步按钮和步骤更改以及用户单击时存储每个部分的数据上一个按钮并进行一些更改,数据库应该更新,如果用户不填写表格,则当他下次登录时,应该从他留下的那一步开始填写表格,直到现在我已经成功实现了更改步骤和第一步将数据插入数据库,并在其他步骤中更新了数据库,但是如果用户进入第一步并再次更改表单字段,如何再次更新第一步数据(我正在使用ajax发送数据和步骤号),我会遇到麻烦

我的控制器

OFS

1 个答案:

答案 0 :(得分:0)

首先,您的代码混乱。

每个表单应该有一个表,其中每个表单都有其父ID。 重构代码的下一步将是为每个表单创建一个单独的控件(您不需要它,但您需要这样做)

每种形式(一个模型)都应具有一种根据其他形式重新计算自身值的方法,因此,如果更改第一种形式,则可以调用重新计算第二种形式的方法,然后调用第二种方法重新计算第三种形式的表格,等等。

此界面可能会有所帮助

interface IForm {
    public function getPreviousForm() : ?IForm; // These notations are since PHP7.1
    public function recalculate() : void;
    public function getNextForm() : ?IForm;
}

简单的代码应如何在实践中发挥作用

$formX->save();
$formX->getNextForm()->recalculate(); // This will call formX->recalculate(); formX+1->getNextForm()->recalculate()
                                    // which will call formX+1->recalculate(); formX+2->getNextForm()->recalculate()
                                    // etc...
                                    // while getNextForm() != null

如果您需要在链的中间插入另一种形式,则可能也需要此。

希望有帮助