Документация

Начало работы

Модели (models)

Шаблоны (views) и маршрутизация (routes)

Формы

SQL запросы

Сессии и безопасность

Плагины

Двойная фильтрация

Ответов: 9
Артём
22.02.2017 14:32

Добрый день!

Пытаюсь выполнить вот такой запрос...


Суть в том, чтобы выбрать среди 10 последних постов тот, который был максимально просматриваемым (views), но как-то вторая фильтрация через order->double эффекта не даёт. Что делаю не так?

$this->select(array("order->desc"=>"id","order->double"=>"views->desc","limit->"=>"10","fields->"=>"`name`,`url`,`parent`,`views`","active"=>1))

Тэги: SQL запросы

Прочтений: 171
Ответов: 9
Admin
23.02.2017 10:36

Добрый день, Артём, с первого взгляда вроде все у вас правильно, а база у вас mysql или sqlite? поле views целочисленное?

Попробуйте проверить какой именно запрос пошел в базу. Поставьте в корневом файле index.php значение 1 в $debug = new Debug(1); и у вас внизу страниц будет отображаться список sql запросов. Найдите там свой запрос, давайте на него посмотрим...

Артём
27.02.2017 19:06

По какой-то причине Debug в обозначенном состоянии ничего не выводит.

Maxim
28.02.2017 09:16

У вас на сайте в самом низу страниц совсем ничего не отображается? а в index.php есть в конце строка $debug -> displayInfo($mv -> router); ?

Артём
01.03.2017 07:22

Да, конечно. Может в самом шаблоне какой-то директивы служебной не хватает?

//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);
Maxim
01.03.2017 16:25

И тут тоже все правильно... а этот запрос у вас случайно не в AJAX файле обрабатывается?

Артём
02.03.2017 11:12

Нет. Фокус в том что он ни одного запроса SQL вообще не показывает. Сам не понимаю такую странность :-)

Admin
03.03.2017 10:57

Тогда давайте дальше искать...

1. Напишите URL без домена по которому открывается эта страница и маршрут из config/routes.php

2. там случайно нигде exit() или die() не исполняется?

3. В шаблоне нет случайно какого-либо CSS свойства типа overflow которое может скрыть самый низ страницы? также проверьте в исходном коде html браузера

Артём
03.03.2017 11:26

1) Исполнение идёт на индексной странице только.
2) exit и die есть... код привожу, думаю понятно для чего так написано
3) overflow нет

<?if($mv->registry->getSetting("Mode")!='production') die('</body></html>');?>
<!-- Далее идут счётчики и скрипты, которые должны подключаться только в продакшене !-->
</body></html>
Артём
03.03.2017 11:31

В общем-то идея самому ясно - избавиться от die и уйти на if-else :-)

Ответить на вопрос
Ответить