2016-12-23 6 views
1

私のyii2アプリケーションリストビューでは、わずか5製品制限を表示する必要があります。 この私のビューページyii2の5アイテムだけを表示リストビュー

<?= ListView::widget([ 
      'dataProvider' => $dataProvider, 
      'itemView' => '_item', 
      'summary' => '', 
      ]); ?> 

と、この私のコントローラ

$searchModel = new HorseAdsSearch(); 
$dataProvider = $searchModel->search(Yii::$app->request->queryParams); 

     return $this->render('index', [ 
      'searchModel' => $searchModel, 
      'dataProvider' => $dataProvider, 
     ]); 

この私のモデル検索機能

public function search($params) 
{ 
    $query = HorseAds::find(); 
    $dataProvider = new ActiveDataProvider([ 
     'query' => $query, 
    ]); 
    $this->load($params); 
    if (!$this->validate()) { 
     return $dataProvider; 
    } 
    // grid filtering conditions 
    $query->andFilterWhere([ 
     'product_id' => $this->product_id, 
     'producttype' => $this->producttype, 
     'productname' => $this->productname, 
    ]); 
    return $dataProvider; 
} 

、私はこれを解決するのに役立つ感謝

+0

このような何かを試してみてください: '$のdataProvider =新しいActiveDataProvider([ 'クエリ'=> $クエリ、 '改ページ'=> falseを、 を]);' –

答えて

1

は、このような気にいらを試してください。 :アイデアは、findとlimitを設定し、ページネーションをfalseに設定します。

public function search($params) 
{ 
    $query = HorseAds::find()->limit(5); 
    $dataProvider = new ActiveDataProvider([ 
     'query' => $query, 
     'pagination' => false 
    ]); 
    $this->load($params); 
    if (!$this->validate()) { 
     return $dataProvider; 
    } 
    // grid filtering conditions 
    $query->andFilterWhere([ 
     'product_id' => $this->product_id, 
     'producttype' => $this->producttype, 
     'productname' => $this->productname, 
    ]); 
    return $dataProvider; 
} 
+0

はい、その作業は、ありがとう –

関連する問題