Возникла проблема. запрос в базу данных неправильно сравнивает значения . поле price первоначально было указано как строка(string). а нам нужно его сравнить с числом (int) вот запрос
$price = db_select('field_data_field_price', 'p')
->fields('p',array('entity_id'))
->condition('bundle','flat','=')
->condition('field_price_value',(int)$price_min,'>=')
->condition('field_price_value',(int)$price_max,'<=')
->execute()
->fetchAll();
->fields('p',array('entity_id'))
->condition('bundle','flat','=')
->condition('field_price_value',(int)$price_min,'>=')
->condition('field_price_value',(int)$price_max,'<=')
->execute()
->fetchAll();
в результате 2000 > 10000 / как можно указать что нужно сравнивать как строки как числа ?
Комментарии
По-моему никак..
А че не исправите таблицу?
ну это крайние меры, хотелось бы как-то в запросе всё поправить
Лучше переделайте поле, иначе будут ещё грабли с сортировкой
Для создания полей цен нужно использовать поле number, иначе сортировка не будет работать нигде. Модуль Views с этого тоже дуреет. Переделать поле пока не поздно - единственный вариант. Можете создать новое поле и скопировать данные из старого с помощью SQL запроса.