2016-07-15 14 views
1

Ich habe einen Controller in dem ich eine Funktion geschrieben habe, um die Werte aus der Tabelle zu erhalten. und ich übergebe es dem Datenprovider.Holen Sie die Daten aus der Tabelle und zeigen Sie die Gridview in yii 2.0

public function actionBorrower() 
{ 

    $user = User::find()->all(); 

    $dataProvider= new ActiveDataProvider([ 
    'user' => $user, 
    'pagination' => false, 
    ]); 

    return $this->render('borrower', [ 
    'dataProvider'=>$dataProvider]); 
} 

nun in der View-Datei ich es in der Grid-Ansicht angezeigt werden soll, hat die Tabelle in der Datenbank viele Anwender möchte ich alle von ihnen holen und sie eins nach dem anderen angezeigt werden soll.

<?php 

use yii\helpers\Html; 
use yii\grid\GridView; 

$this->title = 'Users'; 
$this->params['breadcrumbs'][] = $this->title; 
?> 
<section style="margin-top:60px;display:inline-block;height:640px;width:100%;padding:15px 0 0 15px;" class="wrapper"> 
<div class="user-role-index"> 

    <h1><?= Html::encode($this->title) ?></h1> 

    <?= GridView::widget([ 
     'dataProvider' => $dataProvider, 

     'columns' => [ 
      ['class' => 'yii\grid\SerialColumn'], 

      'id', 
      'user_id', 
      //'role_id', 


      ['class' => 'yii\grid\ActionColumn'], 
     ], 
    ]); ?> 

</div> 
</section> 

ich nocht nicht, wo im falschen gehen, aber einige Fehler kommen wie - Einstellung unbekannte Eigenschaft: yii \ data \ ActiveDataProvider :: Benutzer

Ich bin neu yii2, freundlich jede einer hilft mir das zu lösen .. Danke.

Ich möchte alle Daten aus USER-Tabelle, wo der user_type ist "1" in USER_TYPE Tabelle. Zwei Tabellen sind in diesem beteiligt. Wie schreibe ich diese Abfrage oben?

Antwort

2

Sie sollten Ihre Definition activedataprovider ändern:

$dataProvider= new ActiveDataProvider([ 
    'query' => User::find(), 
    'pagination' => false, 
]); 

Oder wenn Sie alle user bevor erstellen Dataprovider erhalten möchten, sollten Sie ArrayDataProvider

$provider = new ArrayDataProvider([ 
    'allModels' => User::find()->all(), 
    'pagination' => false, 
]); 

Siehe Dokument: http://www.yiiframework.com/doc-2.0/yii-data-activedataprovider.html und http://www.yiiframework.com/doc-2.0/yii-data-arraydataprovider.html

Goodluck und viel Spaß!

+0

Löschen meiner Antwort, wie es das gleiche hier sagt :)! – Julqas

+0

Danke. Goodluck und viel Spaß :) – ThanhPV

+0

Vielen Dank, es ist gelöst. –

Verwandte Themen