2017-02-06 1 views
1

Ich schrieb eine Abfrage mit Join (hasMany()) Relation. Ich möchte einen eindeutigen Wert abrufen und muss für die Seitennumerierung zählen.Yii2: Die Abfrage zählen Funktion ist langsam, wenn unterschiedliche Wert

Aber wenn das eindeutige Wahr gesetzt wird, wird die Zählung langsam.

$query = Post::find(); 
$query->joinWith([ 'tags' ])->where([ 'tags.tag_id' => 1 ]); 
$query->distinct(); 

$pages = new Pagination([ 'totalCount' => $query->count(), 'pageSize' => 25, 'page' => 1 ]); 

Vielen Dank im Voraus.

Antwort

0

Sie brauchen nicht distinct()

ich ziemlich sicher bin, dass, wenn Sie unterschiedliche alles entfernen wird ok arbeiten. Jeder Beitrag wird nur einmal dort sein. Das liegt daran, wie Active Records Dinge handhabt.

+0

Nein, ich erhalte die doppelten Werte. – Sanky

Verwandte Themen