Подскажите пожалуйста, есть следующий код:
public function search() {
$this->load($this->searchParams);
$query = new Query();
$items = $query->from('news')
->match($this->query)
->orderBy(['date_added' => SORT_DESC])
->all();
$items = array_column($items,'id');
$query = News::find()
->where(['in', 'id', $items]);
$dataProvider = new ActiveDataProvider([
'query' => $query,
'sort' => false,
'pagination' => [
'pageSize' => 15
]
]);
return $dataProvider;
}
- Правильно ли я работаю с sphinx? Я передаю ему запрос поиска, получаю массив id и делаю по ним выборку.
- Как работать с limit у sphinx? Возвращает только 20 записей... Получать текущую страницу и считать исходя из количества элементов на странице?
- Или со sphinx мне надо получать не только id? а полный обьем данных и передавать их в DataProvider?
Заранее спасибо.