我正在网上开店。我有两个模型:Product
和Category
。 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'),
);
}
谢谢。
答案 0 :(得分:1)
你可以做到
Category::model()->with('products')->findByPk(1);
您可以访问
等字段$the_category->products->name
这将返回数组,您可以通过
查看debugging purposes
的内容
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 />";
}