Я хочу увеличить свои данныеProvider в siteController. То есть, на каждой итерации мой dataProvider должен быть увеличен на 1 &, переименованный в dataProvider1, dataProvider2, dataProvider3, .... & и так далее. Я попытался добавить $ i к dataProvider, но он говорит: «dataProvider не может быть преобразован в String ...!»Yii2-advanced: dataProvider
Мой actionIndex выглядит следующим образом:
public function actionIndex()
{
$query = new \yii\db\Query;
for ($i = 1; $i <= 20; $i++) {
$query->select('*')->from('business_main_categories')->where(['bmc_id' => $i]);
$query->createCommand();
$dataProvider.$i = new ActiveDataProvider([
'query' => $query,
'pagination' => false,
]);
return $this->render('index', [
'dataProvider' => $dataProvider.$i,
]);
}
}
И, я также хочу, чтобы пользователь что DataProvider в мой 'index.php' с итераций; Я попытался вставить цикл for & написал все утверждения в 'echo', но я не могу это сделать.
Мой путь к нему доступ в «index.php» выглядит следующим образом:
<?= GridView::widget([
'dataProvider' => $dataProvider,
'summary' => '',
'columns' => [
[
'attribute' => 'bmc_image',
'format' => 'html',
'label' => '',
'value' => function ($data) {
return Html::img($data['bmc_image'],
['width' => '190px']);
},
],
]
]); ?>
Пожалуйста, помогите мне решить мою проблему.
Не могли бы вы объяснить, зачем вам 20 поставщиков данных? – arogachev
Я должен извлечь 20 записей из моей базы данных. –
В этом случае вам не нужны 20 поставщиков данных. Вам нужен один поставщик с соответствующим запросом. – arogachev