仅在yii2

时间:2016-11-29 10:25:59

标签: database yii2

enter image description here 2] 2

  

这是我在控制器中的代码

public function actionInventorycopies()
    {
        $searchModel = new \app\models\LibBookCopySearch();
        $dataProvider = $searchModel->search(Yii::$app->request->queryParams);
        //$names = Yii::$app->$db->createCommand('SELECT  count(DISTINCT(book_id)) as id FROM lib_book_copy')
        //->queryAll();
        return $this->render('inventory_copies', [
            'searchModel' => $searchModel,
            'dataProvider' => $dataProvider
            ]);

    }

这是我的问题,我的book_id有两个记录,两者都是一样的。现在我需要的是只显示一次记录。 book_id和title的记录都应该显示一次。我在yii2做我的项目。那么我应该在哪里控制器。

现在我只需要显示一个书ID和一个标题。我该怎么做 ?请帮忙。

1 个答案:

答案 0 :(得分:1)

记录并不完全相同。他们有不同的“Acc No”。

尝试使用yii \ db \ Query:

public function actionInventorycopies()
{
    $query = (new \yii\db\Query)->select(['book_id','title'])->distinct()->from('lib_book_copy');
    $dataProvider = new ActiveDataProvider([
        'query' => $query
    ]);
    return $this->render('inventory_copies', [
        'dataProvider' => $dataProvider
    ]);
}

您应该从网格视图中删除“Acc No”列。