Yii2 activeDropDownList基础知识

Yii2 activeDropDownList基础知识,yii2,Yii2,我不熟悉Yii2,但不熟悉MVC(试图将我的注意力从MS转移到Yii2)。我已经用gii从数据库中构建了一个应用程序。我有一张叫做轨道的桌子,我有一张叫做音乐的桌子。通过一个名为track\u has\u music\u category的链接表,存在一个n:n关系。我的轨迹模型(由gii搭建)具有以下功能 public function getMusicCategories() { return $this->hasMany(MusicCategory::className()

我不熟悉Yii2,但不熟悉MVC(试图将我的注意力从MS转移到Yii2)。我已经用gii从数据库中构建了一个应用程序。我有一张叫做轨道的桌子,我有一张叫做音乐的桌子。通过一个名为track\u has\u music\u category的链接表,存在一个n:n关系。我的轨迹模型(由gii搭建)具有以下功能

 public function getMusicCategories()
{
    return $this->hasMany(MusicCategory::className(), ['id' => 'music_category_id'])->viaTable('track_has_music_category', ['track_id' => 'id']);
}
但这是为了检索已“链接”到此曲目的类别。所以我想我需要像这样的东西

<?= Html::activeDropDownList(theCategoryModel (syntax here??), 'id', ArrayHelper::map(theCategoryModel->findAll(),'id', ''description)) ?>

嗯,差不多吧。我觉得网上的参考资料可以提供一些有用的例子

非常感谢您的帮助

干杯
标记

假设我们希望将某些类别附加到轨迹模型($model):

我们在这里使用
activeCheckboxList
,因为它是一个多重关系。 尽管您需要添加额外的$model逻辑来保存这些关系。
看看这个

是的,这可能比n:n的下拉列表要好。昨晚午夜左右我收到了一个下拉列表。。。我想当我到达那里时,我会穿过多对多的桥梁,但这让我对未来有了一个很好的展望。谢谢
echo Html::activeCheckboxList($model, 'musicCategories', ArrayHelper::map(MusicCategory::findAll(),'id', ''description))