1

我正在做一个网上商店。我有两个模型:ProductCategory. Product可以有一个类别,而类别可以有多个产品。

我已经在models. 我可以访问类别和产品。但我想获得特定类别的所有产品。我已经尝试了许多使用官方文档中的“懒惰”和“渴望”方法的关系查询示例,但没有成功。你能解释一下如何实施吗?

这是我的代码:

类别控制器:

public function relations()
{
    return array(
        'products' => array(self::HAS_MANY, 'Product', 'category_id'),
    );
}

产品控制器:

public function relations()
{
    return array(
        'category' => array(self::BELONGS_TO, 'Category', 'category_id'),
    );
}

谢谢你。

4

1 回答 1

1

你可以做

Category::model()->with('products')->findByPk(1);

您可以访问诸如

$the_category->products->name

这将返回数组,您可以查看debugging purposesby

CVarDumper::Dump($the_category->products->name,100,true);

你们可以使用foreach循环访问每个index

$products = $the_category->products;
foreach ($products as $the_product) 
{
    echo "Name: " . $the_product['name'] . "<br />";
}
于 2012-07-04T15:21:31.483 回答