老实说,我不太了解我的问题的标题,因此我将对其进行解释。我有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();
}
任何帮助将不胜感激
答案 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();
}