我有主表和幾個子表。yii2連接表中的GridView
主表產品:的productID/productNameID/productColorID
和子表
產品名稱:productNameID /名稱
productColor:productColorID /名稱
在主表中,我只是插入子表的ID。 並獲得正常的名稱,而不是我的ID使用功能的產品型號:
public function getProductName()
{
return $this->hasOne(ProductName::className(), ['nameID' => 'productNameID']);
}
public function getProductColor()
{
return $this->hasOne(ProductColor::className(), ['colorID' => 'productColorID']);
}
如果我在視圖中使用的唯一模式,我可以寫$model->productName['name']
從子表得到的名字。
但我想創建GridView控件。爲此我從Gii創建了默認的CRUD。正如你所知道的GridView使用SearchModel。 當我在列表中做到這一點時,我只有主表中的ID。可能是因爲SearchModel中沒有自定義函數 我的意思是現在沒有連接存儲名稱的子表的連接。 那麼如何將我的主表連接到GridView中的子表?應該怎樣做才能做到這一點?