我正在开一家网上商店。我有两个模型:Product
and 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'),
);
}
谢谢。
你可以做
Category::model()->with('products')->findByPk(1);
您可以访问类似字段
$the_category->products->name
这将返回数组,您可以看到内容debugging purposes
by
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 />";
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)