php - 如何在 Codeigniter 中编写类别/子类别数据库查询(一层深)?

标签 php mysql codeigniter recursion tree

啊,PHP 中父/子类别的古老问题。如果这个问题已经被问到(我知道它有多种形式),我深表歉意,但进行搜索无法具体回答如何使用一个查询和 Codeigniter 来做到这一点。

基本上,我正在使用 Codeigniter 开发一个分类网站。列表可以分配给类别。一个类别可以是独立的(没有子项),也可以有一个子项。

使用 Codeigniter 的“Active Record”功能,我得到了几乎可以工作的以下内容。

$this->db->select('l.*');
$this->db->select('c.cat_parent, c.cat_slug, c.cat_name, c.cat_description, c.cat_display');
$this->db->select('c2.cat_slug AS parent_cat_slug, c2.cat_name AS parent_cat_name, c2.cat_description AS parent_cat_description, c2.cat_display AS parent_cat_display');

$this->db->limit($limit, $offset);

$this->db->join('listing_status ls', 'ls.status_id = l.listing_status');
$this->db->join('categories c', 'c.cat_id = l.listing_category');
$this->db->join('categories c2', 'c2.cat_parent = c.cat_id');

return $this->db->get('listings l')->result();

我希望能够提取一个列表,它已分配类别,如果该列表所属的类别有父类别,则也获取父类别详细信息。我已经添加了 2 个连接,它应该可以正常工作,我错过了什么吗?

最佳答案

经过一番折腾,我意识到我的第二个连接是错误的。这是我更新后的工作代码,希望它能帮助其他人。

$this->db->select('l.*');
$this->db->select('c.cat_parent, c.cat_slug, c.cat_name, c.cat_description, c.cat_display');
$this->db->select('pc.cat_slug AS parent_cat_slug, pc.cat_name AS parent_cat_name, pc.cat_description AS parent_cat_description, pc.cat_display AS parent_cat_display');

$this->db->limit($limit, $offset);

$this->db->join('listing_status ls', 'ls.status_id = l.listing_status');
$this->db->join('categories c', 'c.cat_id = l.listing_category');
$this->db->join('categories pc', 'pc.cat_id = c.cat_parent');

return $this->db->get('listings l')->result();

关于php - 如何在 Codeigniter 中编写类别/子类别数据库查询(一层深)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7634591/

相关文章:

java - 重新启动应用程序后无法删除数据库对象

php - 在 PHP 中使用 optgroup 迭代下拉列表

javascript - 单击确定后如何进行SweetAlert自动重定向? (Codeigniter)

php - 是否可以将查询作为数组进行,其中检查多个表是否有所需值?

javascript - 使用Php,mySql,ajax,(xmlhttp)和JS,我如何创建一个php多维并将其发送到JS并使用它?

mysql - 计算每个站点在 mysql 中的百分比

mysql - SQL 中的条件概率 p(y|x)

Mysql 值作为标签矩阵

php - 如何在 codeigniter 中将带有空格的参数从 URL 传递给 Controller ​​?

php - 无法使用 NSMutableURLRequest 发布数据