Получить столбцы, если в запросе нет данных

Простыми словами,

$(document).ready - событие, которое срабатывает, когда document готов.

Предположим, вы разместили свой jQuery кода в секции head и попытке доступа к элементу dom (якорь, img и т. д.), вы не сможете получить к нему доступ, потому что html интерпретируется сверху вниз, а ваши html-элементы отсутствуют, если ваш jQuery-код запускается.

Чтобы преодолеть эту проблему, мы помещаем каждый код jQuery / javascript (который использует DOM) внутри функции $(document).ready, которая вызывается, когда доступны все элементы dom.

И именно поэтому, когда вы помещаете свой код jQuery внизу (после всех элементов dom, непосредственно перед </body>), нет необходимости в $(document).ready

. Существует нет необходимости размещать метод on внутри $(document).ready только тогда, когда вы используете on метод на document по той же причине, что я объяснил выше.

    //No need to put inside $(document).ready
    $(document).on('click','a',function () {
    })

    // Need to put inside $(document).ready if placed inside <head></head>
    $('.container').on('click','a',function () {
    });

EDIT

Из комментариев

  1. $(document).ready не дожидается изображений или скриптов. Это большая разница между $(document).ready и $(document).load
  2. . Только код, который обращается к DOM, должен быть в готовом обработчике. Если это плагин, он не должен находиться в готовом событии.
0
задан HareaCostea 17 January 2019 в 11:55
поделиться

1 ответ

getConnection() в Doctrine возвращает PDO, который он оборачивает, что означает, что мы можем использовать getColumnMeta() для получения имен столбцов:

$stmt = $sql->execute();
$columnNames = array();

foreach(range(0, $stmt->columnCount() - 1) as $index) {
    $columnNames[] = $stmt->getColumnMeta($index)['name'];
}

$columnNames могут быть добавлены к ваш $result

0
ответ дан Henrik Erstad 17 January 2019 в 11:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: