Database 在yii2中仅显示一次重复记录

Database 在yii2中仅显示一次重复记录,database,yii2,Database,Yii2,] 这是我在控制器中的代码 这是我的问题,我的图书id有两个记录,而且都是相同的。现在我需要的是只显示一次记录。图书id和书名的记录应显示一次。我正在yii2做我的项目。那么我应该在控制器中的什么位置进行更改呢 现在我只需要显示一个图书id和一个标题。我怎么做?请帮助。记录实际上并不相同。他们有不同的“Acc No” 使用distinct并从查询中删除“Acc No”: public function actionInventorycopies() { $query = \app\mod

]

这是我在控制器中的代码

这是我的问题,我的图书id有两个记录,而且都是相同的。现在我需要的是只显示一次记录。图书id和书名的记录应显示一次。我正在yii2做我的项目。那么我应该在控制器中的什么位置进行更改呢


现在我只需要显示一个图书id和一个标题。我怎么做?请帮助。

记录实际上并不相同。他们有不同的“Acc No”

使用
distinct
并从查询中删除“Acc No”:

public function actionInventorycopies()
{
    $query = \app\models\LibBookCopy::find()->select(['book_id','title','quantity'])->distinct();
    $dataProvider = new ActiveDataProvider([
        'query' => $query
    ]);
    return $this->render('inventory_copies', [
        'dataProvider' => $dataProvider
    ]);
}

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

记录实际上并不相同。他们有不同的“Acc No”

使用
distinct
并从查询中删除“Acc No”:

public function actionInventorycopies()
{
    $query = \app\models\LibBookCopy::find()->select(['book_id','title','quantity'])->distinct();
    $dataProvider = new ActiveDataProvider([
        'query' => $query
    ]);
    return $this->render('inventory_copies', [
        'dataProvider' => $dataProvider
    ]);
}

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

尝试使用
groupBy('book\u id')
。在您的搜索模型中添加$query->groupBy(['book\u id');尝试使用
groupBy('book\u id')
。在搜索模型中添加$query->groupBy(['book\u id');