【问题标题】:How to sort items by parent category when item is assigned to subcategory将项目分配给子类别时如何按父类别对项目进行排序
【发布时间】:2016-04-02 18:51:33
【问题描述】:

当项目被分配到子类别时,我正在尝试按父类别对项目进行排序。

表格

sql.Categories id, title, parent_id

sql.Classifieds id, title, category_id

代码

public function getLatestClassifieldsByParentCategories()
    {
        $query = $this->db->query("SELECT * FROM categories WHERE parent_id = '0'");
        $result = $query->result();


        foreach ($result as $parent) 
        {   

            $return[$parent->id] = $parent;

            $parent_id = $parent->id;
            $query = $this->db->query("SELECT * FROM categories WHERE parent_id = '$parent_id'"); 

            foreach ($result as $category)
            {
                $return[$parent->id]->category = $category;
                $return[$parent->id]->classifields = $this->cflatest->getClassifieldsLastestByCategory($category->id);
            }      
        }

        return $return;
    }

我找到了另一种可行的方法

【问题讨论】:

    标签: php mysql sql codeigniter


    【解决方案1】:

    为什么不运行这个查询?

    SELECT * FROM classifieds JOIN categories ON classifieds.category_id = categories.id ORDER BY categories.title ASC
    

    【讨论】:

    • 我想按父类别对项目进行排序,但项目已签署到子类别。类别 1 = ParentId = 0 - 子类别 2 ParentId = 1 --- 项目 1 - categoryId = 2 --- 项目 2 - categoryId = 2 --- 项目 3 - categoryId = 2 - 子类别 3 ParentId = 1 --- 项目 4 - categoryId = 3 --- 项目 5 - categoryId = 3 类别 4 - ParentId = 0 - 子类别 5 - ParentId = 4 --- 项目 6 - categoryId = 5 - 子类别 6 - ParentId = 4 --- 项目 7 - categoryId = 6 --- 第 8 项 - categoryId = 6 ** 编辑的情侣次原因仅按下回车提交的评论
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-29
    • 2014-08-15
    • 1970-01-01
    相关资源
    最近更新 更多