【问题标题】:Display data based on id from 2 tables in codeigniter在 codeigniter 中根据 2 个表中的 id 显示数据
【发布时间】:2019-09-10 05:01:39
【问题描述】:

老实说,我不太明白我的问题的标题是什么,所以我会解释一下。我有 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: 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();
}

任何帮助将不胜感激

【问题讨论】:

  • 你有什么错误吗?
  • 没有显示错误
  • 你能在一张图片中显示两个表格数据吗?
  • 您不应在 user_id 列中存储多个值。也许你需要“多对多”的关系

标签: php codeigniter mysqli


【解决方案1】:

这个问题可以通过 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();
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-30
    • 2021-08-27
    • 2017-03-12
    • 2020-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多