Непонятное поведение yii\db\Command

Уже исправленные репорты или принятые предложения
Закрыто
noumo
Сообщения: 144
Зарегистрирован: 2011.06.21, 16:47

Непонятное поведение yii\db\Command

Сообщение noumo »

В своем скромном проект, сделал фильтрацию для eav модели и сначала радовался, что отделался всего лишь джоином подзапроса и все работало, но потом всплыл не очевидный баг.

Это наглядно можно увидеть здесь(дебаг панель включена для всех):
http://noumo.bget.ru/shop/cat/smartphones

Если в поле фильтра "Storage from" указать:
  • От 1 до 3 - то получим корректные результаты
  • От 4 до 6 - нам показывает 1 результат поиска, хотя должно 2
  • От 7 до 9 - вообще ноль, хотя опять же должно быть 2
  • От 10 и выше - вроде нормально
Очень важно, что во всех случаях SQL запрос, который показывает дебаг панель корректный и если его исполнять напрямую в том же phpmyadmin, то он все время выдает правильный результат.

Прошу помочь разобраться с данным багом, потому что я в тупике и не пойму то ли лыжи не едут, то ли лето на дворе и я туплю...

П.С.
В личку могу даль доступ в пхпмайадмин.
Так же все это хозяйство можно легко установить и попробовать у себя на локале(устанавливается вместе с демо контентом):

Код: Выделить всё

composer create-project noumo/easyii-shop temp dev-master
Запрос фильтра собирается здесь:
https://github.com/noumo/easyii/blob/te ... Object.php

Исходники сайта здесь:
https://github.com/noumo/easyii-shop
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Непонятное поведение yii\db\Command

Сообщение samdark »

Если запрос верный, то косячит что-то ещё... скорее всего обработка данных после него. Из предоставленных данных даже отдалённо не ясно, в чём проблема. Надо рыть и дебажить. Очень круто было бы, если бы вы попробовали сделать это для начала самостоятельно.
noumo
Сообщения: 144
Зарегистрирован: 2011.06.21, 16:47

Re: Непонятное поведение yii\db\Command

Сообщение noumo »

Короче разобрался...
Я просто передавал в качестве параметра тип float, а yii\db\Schema->getPdoType($data) присваивал ему тип \PDO::PARAM_STR
Начал передавать int, все заработало.
Топик закрываю.
Закрыто