基于codeigniter中2个表的id显示数据

问题描述 投票:2回答:1

老实说,我不太明白我的问题的标题,所以我会解释它。我有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:john,mike,susan。类型:书。年:2018年

我已经使用了in_array函数但结果却没有。

我的模特:

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

任何帮助都会如此欣赏

php codeigniter mysqli
1个回答
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();
}
© www.soinside.com 2019 - 2024. All rights reserved.