«phpClub» — архив тем ("тредов"), посвящённых изучению PHP и веб-технологий.
Аноним 2019/04/22 13:16:54  №1386695 1
Что за хуйня с этим ебучим Eloquent?

Пишу запрос через орм. Возвращается пустой массив.
Распечатал сформированный орм запрос:
select `type`, SUM(`duration`) AS `sum_duration` from `megafon_calls` where `telephony_id` = ? and `time` > NOW() - INTERVAL ? HOUR group by `telephony_id`, `type`
- Все нормально блять, если его вставить в пых-админ, он выполнится как надо.
Но в коде возвращается пустой массив.
Пиздец.
Тупо голый sql написать что ли? Заебался уже.
Ответы: >>1386920 >>1394734
Аноним 2019/04/22 18:51:21  №1386920 2
>>1386695
Ты бы свой eloquent запрос что ли прислал

Аноним 2019/05/06 05:56:56  №1394734 3
>>1387455

Я думаю, все проще. Подстановка через плейсхолдеры работает только для значений (чисел и строк), но не для идентификаторов (имен полей и таблиц). Ну и да, мануал на английском, это опен сурс, если никто не будет его переводить, то версии на русском не будет.

Для Постгреса, кстати, есть русский перевод мануала.

>>1386695

Ты передаешь неправильные параметры наверно, либо не тот ид телефонии, либо не то число часов. Или передаешь его строкой может быть.

>>1382988

php-fpm это менеджер процессов PHP, к которому nginx обращается по протоколу FastCGI. Он запускается как отдельная от nginx программа. Apache тоже поддерживает FastCGI и может с ним взаимодействовать.

Обычно схема такая: запросы идут на нгинкс, статические файлы он отдает сам, динамические запросы к страницам сайта передает в php-fpm, который выполняет php-скрипт.

mod_php - это интерпретатор PHP, оформленный в виде модуля к Апачу. Он загружается внутрь Апача и естественно, без Апача работать не может.

>>1382148

Это можно сделать, но тут сложность в том, что он не будет искать ошибки в захваченной фразе. Ну, например, если мы хотим захватить ближайшее слово справа и слева, то можем написать:

\S+\s*...\s*\S+

Но тогда в захваченном слове не будут искаться ошибки, так как preg_match_all() не проходится повторно по уже найденной подстроке.

Другой вариант - использовать опцию PREG_MATCH_OFFSET_CAPTURE, которая сохраняет для каждого найденного вхождения позицию в байтах от начала строки. Эту позицию преобразовываем в символы и берем например текст, по 20 символов в обе стороны от места ошибки.

Ну и покажи код, чтобы было можно что-то еще добавить.