View - This is form structure having table where I have to insert multiple rows
<div class="form-group col-md-3 required ">
<label for="journal_number" class="control-label">{$journal_fields.journal_number}</label>
<div class="input-group">
<div class="input-group-addon"><i class="fa fa-id-card-o"></i></div>
<input readonly class="form-control" required="required" placeholder="Enter Journal Number"
value="1"
name="journal_number" id="journal_number" type="text">
</div>
</div>
<div class="form-group col-md-6 required ">
<label for="journal_name" class="control-label">{$journal_fields.journal_name}</label>
<div class="input-group">
<div class="input-group-addon"><i class="fa fa-id-card-o"></i></div>
<input class="form-control" required="required" placeholder="Enter Journal Name"
value="{if isset($journal_data)}{$journal_data.journal_name}{/if}"
name="journal_name" id="journal_name" type="text">
</div>
</div>
<tr id="item-row-0">
<td class="text-center" style="vertical-align: middle;">
<button type="button" onclick="$(this).tooltip('destroy'); $('#journal-row-0').remove(); totalItem();" data-toggle="tooltip" title="Delete" class="btn btn-xs btn-danger"><i class="fa fa-trash"></i></button>
</td>
<td>
<input class="form-control typeahead" required="required" placeholder="Enter Line Number" name="journal[0][line_no]" type="text" id="journal-line_no-0" autocomplete="off">
<input name="journal[0][item_id]" type="hidden" id="journal-id-0">
</td>
<td>
<input class="form-control typeahead" required="required" placeholder="Enter Account" name="journal[0][account]" type="text" id="journal-account-0">
</td>
<td>
<input class="form-control typeahead" required="required" placeholder="Enter Account Name" name="journal[0][account_name]" type="text" id="journal-account_name-0">
</td>
<td>
<input class="form-control typeahead" required="required" placeholder="Enter Branch" name="journal[0][branch]" type="text" id="journal-branch-0">
</td>
<td>
<input class="form-control typeahead" required="required" placeholder="Enter Department" name="journal[0][department]" type="text" id="journal-department-0">
</td>
<td>
<input class="form-control typeahead" required="required" placeholder="Enter Debit" name="journal[0][debit]" type="text" id="journal-debit-0">
</td>
<td>
<input class="form-control typeahead" required="required" placeholder="Enter Credit" name="journal[0][credit]" type="text" id="journal-credit-0">
</td>
<td>
<input class="form-control typeahead" required="required" placeholder="Enter Accounted Debit" name="journal[0][accounted_debit]" type="text" id="journal-accounted_debit-0">
</td>
<td>
<input class="form-control typeahead" required="required" placeholder="Enter Accounted Credit" name="journal[0][accounted_credit]" type="text" id="journal-accounted_credit-0">
</td>
<td>
<input class="form-control typeahead" required="required" placeholder="Enter Description" name="journal[0][description]" type="text" id="journal-description-0">
</td>
</tr>
Controller-This is controller from where I have to send data to model.
public function create()
{
$customerAccount = $this->model_ea_account->getAllByCompanyId($this->customerId);
$types = $this->model_categories->getAll();
$taxRates = $this->model_ea_tax_class->getCustomerTaxClass($this->customerId);
$journal_categories = $this->model_journals->getCategoryname();
//$currency = $this->model_currency->getAll();
$currency = $this->model_currency->getAllByCustomerId($this->customerId);
$dataInfo = $this->model_customer_setting->getAllSettings($this->customerId);
$ledgers_name = $this->model_journals->getLedgersName();
$fields = $this->model_journals->fields();
//var_dump($currency);exit;
$this->load->library('form_validation');
switch ($_SERVER['REQUEST_METHOD']) {
case 'GET':
$date = date('Y-m-d');
$journal_data['journal_date'] = $date;
$journal_data['currency_con_date'] = $date;
$this->template->assign('journal_data', $journal_data);
$this->template->assign('action_mode', 'create');
$this->template->assign('categories_types', $types);
$this->template->assign('taxRates', $taxRates);
$this->template->assign('journal_categories', $journal_categories);
$this->template->assign('currency', $currency);
$this->template->assign('data_general', $dataInfo);
$this->template->assign('ledgers_name', $ledgers_name);
$this->template->assign('journal_fields', $fields);
$this->template->assign('breadcrumb', 'Journal');
$this->template->assign('customerAccount', $customerAccount);
$this->template->assign('breadcrumb_child', 'Add New');
$this->template->assign('template', 'journals/form_journals');
$this->template->display(Frontend_Path . 'frame_frontend.tpl');
break;
case 'POST':
$data_post = $this->input->post();
$data_post['created_at'] = date("Y-m-d");
$data_post['company_id'] = $this->customerId;
//var_dump($data_post);exit();
if ($this->form_validation->run() == FALSE) {
$errors = $this->form_validation->error_array();
$this->template->assign('journal_data', $journal_data);
$this->template->assign('action_mode', 'create');
$this->template->assign('categories_types', $types);
$this->template->assign('taxRates', $taxRates);
$this->template->assign('journal_categories', $journal_categories);
$this->template->assign('currency', $currency);
$this->template->assign('data_general', $dataInfo);
$this->template->assign('ledgers_name', $ledgers_name);
$this->template->assign('journal_fields', $fields);
$this->template->assign('breadcrumb', 'Journal');
$this->template->assign('customerAccount', $customerAccount);
$this->template->assign('breadcrumb_child', 'Add New');
$this->template->assign('errors', $errors);
$this->template->assign('template', 'journals/form_journals');
$this->template->display(Frontend_Path . 'frame_frontend.tpl');
} elseif ($this->form_validation->run() == TRUE) {
$insert_id = $this->model_journals->insert($data_post);
$this->session->set_flashdata('success', 'Data Added Successfully!');
redirect(base_url() . 'journals');
}
break;
}
}
Model- In model data is inserted into ea_journal_headers table but unable to insert into ea_journal_lines table where I have to insert multiple rows with same id from ea_journal_headers table
public function insert($data)
{
//var_dump($data);exit();
$ea_journal_headers['company_id'] = $data['company_id'];
//$ea_journal_headers['currency_id'] = $data['currency_id'];
$ea_journal_headers['journal_number'] = $data['journal_number'];
$ea_journal_headers['journal_name'] = $data['journal_name'];
$ea_journal_headers['ledger_name'] = $data['ledger_name'];
$ea_journal_headers['journal_date'] = $data['journal_date'];
$ea_journal_headers['journal_source'] = $data['journal_source'];
$ea_journal_headers['journal_category'] = $data['journal_category'];
$ea_journal_headers['balance_type'] = $data['balance_type'];
$ea_journal_headers['period_name'] = $data['period_name'];
$ea_journal_headers['currency_code'] = $data['currency_code'];
$ea_journal_headers['currency_con_date'] = $data['currency_con_date'];
$ea_journal_headers['currency_con_type'] = $data['currency_con_type'];
$ea_journal_headers['currency_con_rate'] = $data['currency_con_rate'];
$ea_journal_headers['status'] = $data['status'];
$ea_journal_headers['description'] = $data['description'];
$ea_journal_headers['created_at'] = $data['created_at'];
$this->db->insert($this->tableName, $ea_journal_headers);
$journal_header_id = $this->db->insert_id();
foreach ($data['journal'] as $journal) {
$ea_journal_lines = [];
$journalData = $journal;
$journalData['company_id'] = $data['company_id'];
$journalData['journal_header_id'] = $journal_header_id;
$journalData['line_no'] = $data['line_no'];
$journalData['account'] = $data['account'];
$this->db->insert($this->journalLinesTable, $journalData);
}
}