【问题标题】:How to join two fields of a same table in CI?如何在 CI 中连接同一张表的两个字段?
【发布时间】:2014-07-24 19:27:06
【问题描述】:

我有一个名为“类别”的表。它的结构是这样的:

id     parent_id       name
1      NULL            Electronics
2      NULL            Books
3      1               Mobile
4      2               Love Story

我想用 'name' 字段加入 'parent_id'。如何在 codeigniter 中加入这两个字段?

【问题讨论】:

  • codeigniter/持续集成和这个有什么关系?
  • 为什么不能使用concatenation?只需 parent_id + name?
  • 提供您正在寻找的输出示例...我不确定您是否追求Electronics, Books, Electronics.Mobile, Books.Love Story 或其他...Love Story.Books...或1.Mobile 2 .Love Story,或者什么...顺便说一句,这是一个分层查询...有多少级别和什么 RDBMS?

标签: php sql codeigniter


【解决方案1】:

这称为自联接

SELECT a.name + '-' + b.name
FROM categories a
  INNER JOIN categories b
    ON a.id = b.parentid

【讨论】:

  • @skonmai 你能检查一下这个答案吗?
【解决方案2】:

假设您使用的是 CI 的 activerecord,请查看here

$this->db->select('*')
$this->db->from('categories c1')
$this->db->join('categories c2', 'c1.id = c2.parent_id');

【讨论】:

  • 我在表中有 6 个数据,但它正在获取 12 个数据,它只显示那些 parent_id 不为空的数据,但我想显示所有数据,而不是 parent_id,我想通过与 id 连接来显示类别名称。
猜你喜欢
  • 2021-08-30
  • 2022-07-16
  • 1970-01-01
  • 2013-02-05
  • 2012-05-04
  • 1970-01-01
  • 2023-03-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多