Двойная фильтрация
Добрый день!
Пытаюсь выполнить вот такой запрос...
Суть в том, чтобы выбрать среди 10 последних постов тот, который был максимально просматриваемым (views), но как-то вторая фильтрация через order->double эффекта не даёт. Что делаю не так?
$this->select(array("order->desc"=>"id","order->double"=>"views->desc","limit->"=>"10","fields->"=>"`name`,`url`,`parent`,`views`","active"=>1))
Добрый день, Артём, с первого взгляда вроде все у вас правильно, а база у вас mysql или sqlite? поле views целочисленное?
Попробуйте проверить какой именно запрос пошел в базу. Поставьте в корневом файле index.php значение 1 в $debug = new Debug(1); и у вас внизу страниц будет отображаться список sql запросов. Найдите там свой запрос, давайте на него посмотрим...
По какой-то причине Debug в обозначенном состоянии ничего не выводит.
У вас на сайте в самом низу страниц совсем ничего не отображается? а в index.php есть в конце строка $debug -> displayInfo($mv -> router); ?
Да, конечно. Может в самом шаблоне какой-то директивы служебной не хватает?
//Main config file with all settings and autoloads require_once "config/autoload.php"; //Set 1 to see the work time and sql queries $debug = new Debug(1); //Main object of site also contains all modules objects $mv = new Builder(); //Router refers to include needed view to display the page include_once $mv -> router -> defineRoute(); //If 1 was passed above, displays the data $debug -> displayInfo($mv -> router);
И тут тоже все правильно... а этот запрос у вас случайно не в AJAX файле обрабатывается?
Нет. Фокус в том что он ни одного запроса SQL вообще не показывает. Сам не понимаю такую странность :-)
Тогда давайте дальше искать...
1. Напишите URL без домена по которому открывается эта страница и маршрут из config/routes.php
2. там случайно нигде exit() или die() не исполняется?
3. В шаблоне нет случайно какого-либо CSS свойства типа overflow которое может скрыть самый низ страницы? также проверьте в исходном коде html браузера
1) Исполнение идёт на индексной странице только.
2) exit и die есть... код привожу, думаю понятно для чего так написано
3) overflow нет
<?if($mv->registry->getSetting("Mode")!='production') die('</body></html>');?> <!-- Далее идут счётчики и скрипты, которые должны подключаться только в продакшене !--> </body></html>
В общем-то идея самому ясно - избавиться от die и уйти на if-else :-)