现在我有两张牌"Category"
和"Product"
。
我在'category_id'
中"Product"
'id'
在Category
中等于$dataProvider = new ActiveDataProvider([
'query' => $query = Product::find()->where(['category_id' => $cats->id]),
'sort'=>array(
'defaultOrder'=>['id' => SORT_ASC],
),
'pagination' => [
'pageSize' => 9,
],
]);
,所以现在在我看来它显示了该类别的所有产品。但现在我需要一种产品分为几类。
在控制器中,我使用以下数据提供程序:
org.hamcrest.Matchers.hasProperty
有关如何实现此功能的任何建议?
答案 0 :(得分:0)
试试这个:
$dataProvider = new ActiveDataProvider([
'query' => $query = Product::find()->where(['id' => $product_id]),
'sort'=>array(
'defaultOrder'=>['id' => SORT_ASC],
),
'pagination' => [
'pageSize' => 9,
],
]);
OR
$dataProvider = new ActiveDataProvider([
'query' => $query = Product::find()->where(['id' => $product_id])->groupBy(['cats->id']),
'sort'=>array(
'defaultOrder'=>['id' => SORT_ASC],
),
'pagination' => [
'pageSize' => 9,
],
]);
答案 1 :(得分:0)
如果我不理解你对pricipio的数据结构错误
从1到N.
Categories -> Products
现在你希望它来自N to N
一个包含许多产品的类别和一个包含多个类别的产品。
所以我希望你创建另一个名为Product_Categy
的表,你可以在那里保存2个表的主键,你必须能够从N to N
建立关系,你会有一个决赛像这样的计划
Categories (id, ...) ->
Categria_Product (id, id_categoria, id_producto, ...) <- Product (id, ..)