我正在网上商店.我有两个模型:产品和类别.产品可以具有一个类别,而类别可以具有多个产品.
我已经在模型中定义了关系.我可以访问类别和产品.但是我想从特定类别中获取所有产品.我已经从官方文档中尝试了许多使用“懒惰”和“渴望”方法进行关系查询的示例,但是没有成功.您能解释一下如何实施吗?
这是我的代码:
类别控制器:
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'),
);
}
谢谢.
解决方法:
你可以做
Category::model()->with('products')->findByPk(1);
您可以访问诸如
$the_category->products->name
这将返回数组,您可以通过以下方式查看用于调试目的的内容
CVarDumper::Dump($the_category->products->name,100,true);
您可以使用foreach循环访问每个索引
$products = $the_category->products;
foreach ($products as $the_product)
{
echo "Name: " . $the_product['name'] . "<br />";
}