【发布时间】:2015-07-02 20:35:45
【问题描述】:
我是 yii 的新手。我已经尝试过自己,谷歌搜索并发现 yii2 默认 CRUD 生成器 Gii 不会为具有多对多关系的表生成 CRUD。还发现yii通过一对多yiiDrills实现了(不是Gii意义上的)多对多。
现在我试图在Github issue trail 和stackoverflow trail 的帮助下手动模拟相同类型的默认CRUD。我在尝试此操作时遇到以下问题。
问题 1(具有多对多关系的表的模型类):无法初始化类 ActiveDataProvider,
$query = TableA::find();
$dataProvider = new ActiveDataProvider([
'query' => $query->TableB(),
]);
Issue-2(View):即使我能够初始化它如何通过 GridView 呈现它
<?= GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'columns' => [
['class' => 'yii\grid\SerialColumn'],
//How to give the column names like we give for one to many
/* Example */
'TableA.attr1',
['class' => 'yii\grid\ActionColumn'],
],
]); ?>
我还想知道是否需要为具有多对多关系的表创建一个模型类来处理 CRUD。
谢谢
【问题讨论】: