Mysql 具有Laravel 4的嵌套集合类别

Mysql 具有Laravel 4的嵌套集合类别,mysql,laravel,laravel-4,eloquent,nested-sets,Mysql,Laravel,Laravel 4,Eloquent,Nested Sets,我有一个类别表 CREATE TABLE categories ( name clean_name image description lft rgt ) 我需要能够查询一个类别内的所有产品,按子类别组织。换言之: Products -Electronics --Portable >>> Product 1 >>> Product 2 --TV >>> Product 1 >>> Product 2 >>>

我有一个
类别

CREATE TABLE categories (
name
clean_name
image
description
lft
rgt
)
我需要能够查询一个类别内的所有产品,按子类别组织。换言之:

Products
-Electronics
--Portable
>>> Product 1
>>> Product 2
--TV
>>> Product 1
>>> Product 2
>>> Product 3
因此,我希望能够在
电子产品
上循环,并展示其独特类别的产品

到目前为止,我所能做的就是使用
raw
查询返回类别,但都在一个级别上,没有产品


理想情况下,我希望使用
雄辩的
来管理所有这些…

您的问题不太清楚您到目前为止设置了什么,但基本上您希望:

  • 具有id和名称的类别表
  • 带有id、类别id和名称的products表
然后,您需要为每种类型创建相应的模型:

//category model
Category extends Eloquent
{
    public function products()
    {
        return $this->hasMany('Product');
    }
}

//product model
Product extends Eloquent
{
    public function category()
    {
        return $this->BelongsTo('Category');
    }
}
然后,您可以用产品抓取您的类别,并可能使用一个嵌套循环,如下所示:

$categories Category::with('Products')->get();
foreach($categories as $category)
{
    echo '<h2>'.$category->name.'</h2>'
    foreach($category->products as $product)
    {
        echo $product->name
    }
}
$categories Category::with('Products')->get();
foreach($categories作为$category)
{
回显“”。$category->name。“”
foreach($category->products as$product)
{
echo$product->name
}
}

希望这对您有所帮助,如果没有,您需要发布更多关于您目前拥有的内容的详细信息

您可以发布所有相关的数据库表和关系吗?