Вот модели в скобках атрибуты Category(id,title), CatToProd(id,id_category,id_product), Product(id,title)
вот связи в модели Product
public function getCategorys(){
return $this->hasMany(Category::className(),['id'=>'id_category'])->viaTable('cat_to_prod', ['id_product' => 'id']);
}
public function getCatToProd(){
return $this->hasMany(CatToProd::className(),['id_product' => 'id']);
}
вот так пытаюсь получить id категории для использования в select2
public function getDataCategory($model){
$categorys=$model->categorys;
$arrResult=array();
foreach ($categorys as $category){
$arrResult[]=$category->id;
}
return $arrResult;
}
мне не очень нравится этот код а как вы получаете. Получить надо массив вида [1,2,3]