Я смотрю на опции фильтрации Magento (Ecommerce System и PHP Framekwork с обширной системой ORM). В частности, метод addFieldToFilter
. В этом методе вы указываете SQLish-фильтр, передавая массив из одного элемента, причем ключ указывает тип фильтра. Например,
array('eq'=>'bar') //eq means equal
array('neq'=>'bar') //neq means not equal
даст вам предложение where, которое выглядит как
where field = 'bar';
where field != 'bar';
Итак, глубоко в недрах источника я нашел тип сравнения с именем
'moreq'
, который сопоставляется с оператором сравнения> =
array('moreq'=>'27')
where field >= 27
Странно то, что тип сравнения gteq уже существует
array('gteq'=>'27')
where field >= 27
Итак, мой вопрос: что означает moreq? Это какая-то особая концепция SQL, которая поддерживается в других базах данных, которую ребята из Magento хотят отобразить на MySQL, или это просто «больше требуется», и пример того, что происходит, когда вы выполняете быструю гибкую и пытаетесь поддерживать обратную совместимость.