Отображение данных на основе идентификатора из 2 таблиц в codeigniter - PullRequest
2 голосов
/ 20 апреля 2019

Честно говоря, я не совсем понимаю, как называется моя проблема, поэтому я объясню это. У меня есть 2 таблицы, 1. пользовательская таблица, 2. создание.

Таблица пользователей: id_users, имя, пол

Создание: id_creation, user_id, тип, год

В таблице создания, user_id может иметь более 1 id_users, например, в 1 строке данных:

id_creation: 1. user_id: 1,2,3. Тип: книга. год: 2018.

Затем я хочу показать таблицу создания с пользовательской таблицей, например:

id_creation: 1. user_id: Джон, Майк, Сьюзен. Тип: книга. год: 2018

Я уже использую функцию in_array, но в результате ничего не получается.

моя модель:

function get_all()
{
  $this->db->join('users', 'creation.user_id = users.id_users');
  return $this->db->get('creation')->result();
}

любая помощь так оценит

1 Ответ

0 голосов
/ 20 апреля 2019

эту проблему можно решить с помощью функции find_in_set. это даст вам 3 ряда. также см. следующие варианты использования, которые могут вызвать ошибку

вариант 1: 1, 2, 3 -> неправильно, случай 2: 1,2,3 -> верно, случай 3: 1, 2, 3 -> Неверно,

просто не ставьте пробел между значениями

function get_all()
{
  $this->db->join('users', 'find_in_set(creation.user_id , users.id_users'),'INNER JOIN');
  return $this->db->get('creation')->result();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...