根据Codeigniter中2个表的ID显示数据

时间:2019-04-20 03:45:03

标签: php codeigniter mysqli

老实说,我不太了解我的问题的标题,因此我将对其进行解释。我有2个表,1.用户表,2.创建。

用户表:id_users,姓名,性别

创建:id_creation,user_id,类型,年份

在创建表中,user_id可以具有多个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 :(得分:0)

可以使用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();
}