Код: Выделить всё
$totalCount = $dataProvider->getTotalCount(); //415
$all = $dataProvider->query->all(); // 270
Но результат разный.
С чем это может быть связано?
Код: Выделить всё
$totalCount = $dataProvider->getTotalCount(); //415
$all = $dataProvider->query->all(); // 270
Код: Выделить всё
$query = ProductModel::find();
$query->innerJoinWith(['userListItems']);
$query->asArray();
$query->andFilterWhere(['in', 'list_id', $this->list_ids]);
Код: Выделить всё
public function getUserProductListItems() {
return $this->hasMany(UserProductListItem::class, ['product_id' => 'id']);
}
Стоит - вот запросы:
Код: Выделить всё
SELECT COUNT(*) FROM `product` INNER JOIN `user_product_list_item` ON `product`.`id` = `user_product_list_item`.`product_id` INNER JOIN `instore_markup` ON `product`.`department_id` = `instore_markup`.`department_id` WHERE (`list_id` IN ('3', '5', '7', '8', '11', '12', '13', '14', '15')) AND (`system_status` != 'deleted') AND (`system_status` NOT IN ('deleted', 'del_candidate')) AND (`product`.`status` != 'deleted')
SELECT `product`.* FROM `product` INNER JOIN `user_product_list_item` ON `product`.`id` = `user_product_list_item`.`product_id` INNER JOIN `instore_markup` ON `product`.`department_id` = `instore_markup`.`department_id` WHERE (`list_id` IN ('3', '5', '7', '8', '11', '12', '13', '14', '15')) AND (`system_status` != 'deleted') AND (`system_status` NOT IN ('deleted', 'del_candidate')) AND (`product`.`status` != 'deleted')
Проблема в $dataProvider явно
Код: Выделить всё
var_dump($dataProvider->getTotalCount()); //39
var_dump($dataProvider->query->count()); //39