我是Yii2的新手但不是MVC(尝试将我的注意力从MS转移到Yii2)。我使用gii从我的数据库中搭建了一个应用程序。我有一个名为track的表我有一个名为music_category的表。通过名为track_has_music_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)) ?>
嗯,就像那样。我觉得好像在线参考可以用一些有用的例子。
任何帮助都非常感激。
干杯 标记
答案 0 :(得分:2)
假设我们想要将一些类别附加到轨道模型($ model):
echo Html::activeCheckboxList($model, 'musicCategories', ArrayHelper::map(MusicCategory::findAll(),'id', ''description))
我们在这里使用activeCheckboxList
因为它是一个多重关系。
虽然您需要添加额外的$ model逻辑来保存这些关系。
看看这个How do I work with many-to-many relations in Yii2