当表是动态的时,将数据插入到相关模型

时间:2019-04-26 07:11:43

标签: laravel laravel-5.5

我正在尝试创建一个功能,该功能可以从系统中的任何形式收集数据并将其保存到适当的表中。

例如:

案例一:学生注册表格涉及两个模型

1)student_master 2)学生部门

案例二:学生付款表格涉及两个模型

1)student_master 2)学生付款

我想要实现的目标是,在中央位置保存而不是为每个具有不同模型名称的表单重写相同的方法。

我当前的进步是,可以实现每种特定表单模型中的数据保存,但是我无法保存外键值

例如:

student_master => [ id=>1, name => 'John Doe'....]

student_payments => [id=>1, department => 'Science'], [id => 2, deparment => 'Math']

这是当前形成的数组,基于此数组,我在模型中插入了该数组,但是Student_payments表中的studentmaster_id丢失了,它另存为0

/*
 * function to insert data into the particular table
 * after getting the namespaces of each table from the helper functions
 */
public function insertFormData()
{

    for ($i = 0; $i < count($this->tableNames); $i++) {
        // get the namespace of the table name
        $model = CustomHelper::getNameSpace($this->tableNames[$i]);
        // $model => /var/www/html/erp/app/Models/sales/StudentMaster
        $model::insert($this->tableCollections[$this->tableNames[$i]]);

    }

}

我需要找到一种在不对任何表/模型名称进行硬编码的情况下存储外键的方法。

0 个答案:

没有答案