2015-09-04 38 views
0

我有一个表Category_has_Product。它包含两列:categoryIdproductId。如何从特定类别按名称订购产品?Yii2 Category_has_产品表

+0

你不需要一个'productId'和'productName'的表吗? – C8H10N4O2

+0

我也有这张桌子。 – sdafasdf

+0

您是否在寻找一个Yii2 select查询在[这里](http://www.bsourcecode.com/yiiframework2/select-query-sql-queries/)?你对SQL本身或Query类有问题吗?这看起来像一个简单的内心联系给我。 – C8H10N4O2

回答

0

您可以通过添加下面的方法您的分类模型中做到这一点:

public function getProducts() { 
    return $this->hasMany(Product::className(), ['id' => 'productId']) 
     ->viaTable('Category_has_Product',['categoryId' => 'id']) 
     ->orderBy('productName ASC'); 
} 

只需确保字段名称是正确的。第一个'id'必须是产品表中的第一个'id',而第二个'id'必须来自您的分类表。