2016-06-23 4 views
1

ich möchte Daten zeigen sqlDataProvider Verwendung von anderen Tisch zu Gridview und berechnen es, hier mein Code in siteController.php
public function actionSyahriyah() { $searchModel = new SyahriyahSearch(); $db = Yii::$app->db; $bayar = $db ->createCommand('SELECT sy.no_syahriyah, sy.banyak, sa.nama, sy.tgl, sa.tarif FROM santri sa, syahriyah sy WHERE sa.no_induk = sy.no_induk ORDER BY sy.tgl'); $dataProvider = new SqlDataProvider([ 'sql' => $bayar, 'pagination' => [ 'pageSize' => 5 ], ]); return $this->render('syahriyah',[ 'searchModel' => $searchModel, 'dataProvider' => $dataProvider, ]); }
und dies ist der gridview:
<?= GridView::widget([ 'dataProvider' => $dataProvider, 'filterModel' => $searchModel, 'columns' => [ // ['class' => 'yii\grid\SerialColumn'], 'tgl', 'banyak', ], 'export' => false, ]); ?>yii2: SqlDataProvider mit Paginierung und searcModel immer Fehler preg_match() erwartet Parameter 2 zu Zeichenfolge, Objekt gegeben

Antwort

0

können Sie verwenden DataProvider-

<?php 

    $bayar = $db ->createCommand('SELECT sy.no_syahriyah, sy.banyak, sa.nama, sy.tgl, sa.tarif 
      FROM santri sa, syahriyah sy 
      WHERE sa.no_induk = sy.no_induk 
      ORDER BY sy.tgl'); 

    $dataProvider = new SqlDataProvider([ 
     'sql' => $bayar, 
     'pagination' => [ 
      'pageSize' => 5 
      ], 
     ], 
    ]); 

?> 
+0

ich Ihre Beratung verwenden, aber Ich habe Fehler _preg_match() erwartet Parameter 2 als String, Objekt gegeben_ in SqlDataProvider.php –

+0

Es tut mir leid, aber Sie Kommentar scheint nicht im Zusammenhang mit der Antwort .. Ich sehe keine preg_match .. schließlich aktualisieren Sie posten und zeigen Der zugehörige Code .. – scaisEdge

+0

Ich habe meinen Beitrag bearbeitet, –