Как связать таблицы в БД многие ко многим и сделать возможность записывать данные в CodeIgniter 3
Я новичок в программировании. Буду очень благодарен за помощь! Есть задача. Есть 3 тб. в БД. pages id method_name description
таблица
groups id name description
и таблица
page_groups id page_id group_id
Есть модель, class Permission_page_group_model extends CI_Model
{
public function get_groups()
{
$query = $this->db->get('groups');
return $query->result();
}
public function get_pages()
{
$query = $this->db->get('pages');
return $query->result();
}
}
где я вывожу во view все заголовки существующих страниц в цикле и возле каждого заголовка вывожу галочку(checkbox). Пока это просто заголовки с галочками возле них. Мне же нужно реализовать функционал, что когда я нажимаю на галочку возле заголовка в БД записывалась или удалялась запись в связной таблице page_groupc
Контроллер:
public function __construct()
{
parent::__construct();
$this->load->helper('form');
}
public function index()
{
$this->load->model('permission_page_group_model');
$data['query'] = $this->permission_page_group_model->get_groups();
$data['pages'] = $this->permission_page_group_model->get_pages();
$this->load->view('groups_role_config', $data);
}
}
View:
<div class="card-body">
<div id="accordion">
<?php
$colors = [
0 => 'card card-primary',
1 => 'card card-danger',
2 => 'card card-success',
];
$accordionsID = [
0 =>'collapseOne',
1 => 'collapseTwo',
2 => 'collapseThree'
];
$links = [
0 => '#collapseOne',
1 => '#collapseTwo',
2 => '#collapseThree'
];
?>
<?php foreach ($query as $key => $result):?>
<div class="<?php echo $color = $colors[$key];?>">
<div class="card-header">
<h4 class="card-title">
<a data-toggle="collapse" data-parent="#accordion" href="<?= $link = $links[$key];?>">
<?php echo htmlspecialchars($result->name,ENT_QUOTES,'UTF-8');?>
</a>
</h4>
</div>
<div id="<?= $accordionID = $accordionsID[$key];?>" class="panel-collapse collapse">
<div class="card-body">
<?php echo form_open(uri_string());?>
<?php foreach ($pages as $page) :?>
<label class="checkbox">
<input type="checkbox" name="roles" value="test">
<?php echo htmlspecialchars($page->description,ENT_QUOTES,'UTF-8');?>
</label>
<?php endforeach;?>
<p><?php echo form_submit('submit', 'Save');?></p>
<?php echo form_close();?>
</div>
</div>
</div>
<?php endforeach;?>
</div>
</div>
<!-- /.card-body -->
</div>
<!-- /.card -->
</div>
Нужно сделать функционал, чтобы давать или удалять группам пользователей доступ к страницам выбирая их галочками. Что я не знаю как сделать. Подскажите пожалуйста!!!
