Я пытаюсь создать функцию, которая собирает данные из любой формы в системе и сохраняет их в соответствующую таблицу.
Например:
Случай 1: Форма для регистрации студента включает две модели
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']
Это текущий массив, который формируется и на основе этого я вставляю в модель, но studentmaster_id
в таблице student_payments отсутствует, и он сохраняется как 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]]);
}
}
Мне нужно найти способ хранения внешнего ключа без жесткого кодирования имен таблиц / моделей.