У меня есть страница на основе JavaScript, где сетка отображает все данные для зарегистрированных пользователей, которые взяты из базы данных. В пользовательском интерфейсе у меня также есть столбец с именем 'groups', который отображает группы, в которых участвует каждый пользователь, но этоинформация берется с использованием дополнительных двух дополнительных таблиц - 'groups' с 'id' и 'group_name' в качестве столбцов и таблицы 'users_groups', которая имеет 'user_id' и 'group_id' в качестве столбцов, которые являются внешними ключами, связанными с 'users' итаблицы 'groups'.
Проблема в том, что когда вы щелкаете, чтобы редактировать любого пользователя из сетки пользовательского интерфейса, появляется AJAX, который публикует JSON с информацией для пользователя, которая включает столбец 'groups', который на самом деле нечасть таблицы «пользователи».Итак, у меня есть это:
$data = json_decode($this->input->post('data'), true);
, которое первоначально (когда группы еще не были добавлены) было преобразовано в это:
$data = array(
'id' => $data['id'],
'email' => $data['email'],
'firstname' => $data['firstname'],
'lastname' => $data['lastname'],
'usertype' => $data['usertype']
);
и затем проанализировано в модель с именем 'mUsers'где находится функция обновления:
$query = $this->mUsers->update($data);
И модель с тех пор была очень простой, потому что была только одна таблица:
public function update($data)
{
$this->db->where('id', $data['id']);
$query = $this->db->update('users', $data);
return true;
}
Но теперь я должен обновить другую таблицу - 'users_groupsи я думаю о своих возможностях. Можно ли просто добавить к массиву $ data показанный над другой записью:
'groups' => $data['groups']
И попытаться реализовать всю логику в одной функции (если это вообще возможно)Я не смог найти информацию, могу ли я иметь два разных запроса на активную запись в одной функции), или вторая вещь, о которой я подумал, была после декодирования JSON, чтобы сделать что-то вроде:
$dataGroups = array(
'groups' => $data['groups'] //adding groups data to be fetched for update
);
, а затем проанализироватьданные для новой функции, что-то вроде:
$q = $this->mUsers->updateGroups($dataGroups);
Каков будет лучший подход в этом случае?
Спасибо, Лерон