2016-11-29 93 views
0

enter image description here2] 2顯示重複的記錄只在yii2一次

這是我在控制器代碼

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和只有一個標題。我該怎麼做 ?請幫忙 。

+0

嘗試使用'groupBy('book_id')'。 –

+0

在您的搜索模型中添加$ query-> groupBy(['book_id']); – jithin

回答

1

記錄並不相同。他們有不同的「加號」。

嘗試使用警予\ DB \查詢:

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編號」 一欄。