Я новичок в yii. Я пробовал себя, googled и обнаружил, что генератор CRY по умолчанию yii2 по умолчанию не генерирует CRUD для таблиц, которые имеют много разных отношений. Также было обнаружено, что yii достигает (не в смысле Gii) многих для многих через одного для многих yiiDrills.yii2 - CRUD для многих-многих отношений
Теперь я пытаюсь эмулировать такой же тип CRUD по умолчанию вручную с помощью Github issue trail и stackoverflow trail. При этом я сталкиваюсь с нижеследующими проблемами.
Выпуск-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.
Thanks
Благодарим за отзыв. Это работает для меня отлично (ссылка была очень полезна), но у меня есть одно сомнение в соглашении об именах имени таблицы, указанном в joinWith(). Теперь он работает так, если фактическое имя таблицы является «table_abc», тогда yii-отладчик запрашивает имя как «tableAbc», почему это так? –
set tablePrefix в вашем файле конфигурации. Это решит вашу проблему –